[
https://issues.jboss.org/browse/JBDS-1602?page=com.atlassian.jira.plugin....
]
Brian Fitzpatrick commented on JBDS-1602:
-----------------------------------------
Amazingly enough, I've reworked how the whole sample message generator works and it
now addresses deeper schemas as well as the namespace problems.
The sample wsdl with all the namespaces now generates this in the WS Tester:
<?xml version="1.0" encoding="utf-8" standalone="yes"
?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<soap:Body>
<test:echo xmlns:test="http://test/">
<!-- optional -->
<test:arg0
xmlns:x="http://example.com/attr/x" x:C="?"
xmlns:y="http://example.com/attr/y" y:D="?" >
<a:A
xmlns:a="http://example.com/ws/a">
</a:A>
<b:B
xmlns:b="http://example.com/ws/b">
</b:B>
<!-- optional -->
<othe:OtherType
xmlns:othe="http://example.com/attr/other"
othe:myid="?" x:Y="?" >
<!-- optional -->
<b:description>
</b:description>
</othe:OtherType>
</test:arg0>
</test:echo>
</soap:Body>
</soap:Envelope>
And this for the stock quote example:
<?xml version="1.0" encoding="utf-8" standalone="yes"
?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<soap:Body>
<stoc:getStockQuoteBySymbol
xmlns:stoc="http://www.jboss.com/webservices/StockQuoteService"...
<!-- optional -->
<arg0>
</arg0>
</stoc:getStockQuoteBySymbol>
</soap:Body>
</soap:Envelope>
My question now is this... Obviously I'm introducing a namespace prefix declaration at
the level in which it is first introduced in the schema hierarchy. It's a bit ugly if
you look at the first example in this comment, but it should work I believe.
Do I need to find a way to clean this up and shove the namespace prefix declarations into
the operation tag? I believe I have a solution, but am open to suggestions. At this point,
I'm just happy I can process these bigger, uglier schema/WSDL combinations!!
Web Service Tester generates SOAP bodies that cause marshaling
issues
---------------------------------------------------------------------
Key: JBDS-1602
URL:
https://issues.jboss.org/browse/JBDS-1602
Project: Developer Studio (JBoss Developer Studio)
Issue Type: Bug
Affects Versions: 4.0.0.GA
Environment: JBoss Developer Studio 4.0.0 on Mac OS X 10.6.6
Reporter: Bill Meyer
Assignee: Brian Fitzpatrick
Fix For: 4.1.0.CR1
Attachments: jbds-1602-partial.patch, Jira - JBDS-1602.zip, testerutils.diff
Original Estimate: 0 minutes
Remaining Estimate: 0 minutes
Open JBDS 4, go to Window -> Show View -> Other -> Web Service Tester.
If I enter my WSDL and select the appropriate Service, Port, and Operation (there's
only 1), the SOAP Body gets filled in as:
<?xml version="1.0" encoding="utf-8" standalone="yes"
?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<soap:Body>
<getStockQuoteBySymbol xmlns =
"http://www.jboss.com/webservices/StockQuoteService">
<arg0>?</arg0>
</getStockQuoteBySymbol>
</soap:Body>
</soap:Envelope>
which seems to cause the operation invocation to choke with a NullPointerException. It
appears to be a problem with unmarshalling on the Web Service side. Interesting note is
that soapUI causes the same behavior when I copy the above SOAP envelope into soapUI and
execute the call.
If I change the SOAP envelope by moving the operation namespace to the top of the XML
body:
<?xml version="1.0" encoding="utf-8" standalone="yes"
?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:stoc = "http://www.jboss.com/webservices/StockQuoteService" >
<soap:Body>
<stoc:getStockQuoteBySymbol>
<arg0>?</arg0>
</stoc:getStockQuoteBySymbol>
</soap:Body>
</soap:Envelope>
Everything executes perfectly. So, I am assuming that the Web Service Tester is
generating a SOAP Body that results in a failed web service invocation. I've tried
this with a few different web services (String and float args) and they all fail the
same.
I am trying to invoke a JAX-WS based web service. I have tried an ASMX-based web service
up on
webservicex.net (
http://www.webservicex.net/stockquote.asmx?WSDL) and not had the
same issue.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira