[
https://issues.jboss.org/browse/JBDS-1602?page=com.atlassian.jira.plugin....
]
Brian Fitzpatrick commented on JBDS-1602:
-----------------------------------------
Ok... I think I have this working much better now, though it still doesn't handle the
extremely ugly Ebay WSDL well.
For the sample with all the ugly namespaces and nested/mixed schemas, I now generate
this:
<?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:Header>
</soap:Header>
<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 the original WSDL reported for this JIRA looks like this now:
<?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:Header>
</soap:Header>
<soap:Body>
<stoc:getStockQuoteBySymbol
xmlns:stoc="http://www.jboss.com/webservices/StockQuoteService"...
<!-- optional -->
<arg0>?</arg0>
</stoc:getStockQuoteBySymbol>
</soap:Body>
</soap:Envelope>
And the parts.wsdl associated with JBIDE-8770 looks like this with the SOAP header:
<?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:Header>
<squa:storeHeader
xmlns:squa="http://www.example.org/ws/square/">
<id>?</id>
<timestamp>?</timestamp>
</squa:storeHeader>
</soap:Header>
<soap:Body>
<basi:operationRequest
xmlns:basi="http://www.example.org/ws/basic/">
<a>?</a>
<b>?</b>
</basi:operationRequest>
</soap:Body>
</soap:Envelope>
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