Details
-
Bug
-
Resolution: Done
-
Major
-
4.0.0.GA
-
None
Description
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.