Ok with Invoke but...

View: New views
1 Messages — Rating Filter:   Alert me  

Ok with Invoke but...

by Davide Ling :: Rate this Message:

| View Threaded | Show Only this Message

Hi,
Now I'm able to invoke an assessorService... but only if this service is
deployed on Jboss
and not the Sun SJSAS.
(now the service is rpc style. Ok Matthieu? ;-) )
I'll explain the question:

If I send a SOAP message with the static stub using Sun JAX-RPC api, the
message
is like this one (note assessmentRequestMessage has no namespace).
Either Sun's sjsas and Jboss work with this message:

------------------- Sent with static stub -----------------
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
       xmlns:ns0="http://davideling.altervista.org/assessorService/">
<env:Body>
<ns0:assessmentRequest>
<assessmentRequestMessage>
<name>Ugolino</name>
<surname>Ling</surname>
<address>
   <street>via pippo</street>
   <number>13</number>
   <city>Pippolandia</city>
   <zip>51039</zip>
   <country>Italia</country>
</address>
<taxNumber>dvdlng456ytr78</taxNumber>
<cardNumber>26521735451237</cardNumber>
<totalPrice>1345.78</totalPrice>
</assessmentRequestMessage>
</ns0:assessmentRequest>
</env:Body>
</env:Envelope>

Instead agila send messages with a default namespace in assessmentRequest,
so assessmentRequestMessage inherits the namespace.
Jboss accepts this message too, but Sun's sjsas not:
----------------- Sent by agila ----------------------
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:assessmentRequest
xmlns="http://davideling.altervista.org/assessorService/"
    xmlns:ns1="http://davideling.altervista.org/assessorService/">
<assessmentRequestMessage>
<name>Paperina</name>
<surname>Ling</surname>
<address>
   <street>Piazza Cristoforo Colombo</street>
   <number>156</number>
   <city>Genova</city>
   <zip>20089</zip>
   <country>Italy</country>
</address>
<taxNumber>123456789abcdefg</taxNumber>
<cardNumber>123456789abcdefg</cardNumber>
<totalPrice>350.0</totalPrice>
</assessmentRequestMessage>
</ns1:assessmentRequest>
</soapenv:Body>
</soapenv:Envelope>

Sun's sjsas seem doesn't like the assessmentRequestMessage inherited
namespace:

---------------------------- sjsas logs ----------------------------
expected=assessmentRequestMessage,
actual={http://davideling.altervista.org/assessorService/}assessmentRequestMessage
unexpected element name: expected=assessmentRequestMessage,
actual={http://davideling.altervista.org/assessorService/}assessmentRequestMessage
    at
assessorService.AssessorServicePT_assessmentRequest_RequestStruct_LiteralSerializer.doDeserialize(AssessorServicePT_assessmentRequest_RequestStruct_LiteralSerializer.java:57)
    at
com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(LiteralObjectSerializerBase.java:216)
    at
com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:124)
    at
assessorService.AssessorServicePT_Tie.deserialize_assessmentRequest(AssessorServicePT_Tie.java:101)
    at
assessorService.AssessorServicePT_Tie.readFirstBodyElement(AssessorServicePT_Tie.java:87)
    at
com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:245)
    at
com.sun.enterprise.webservice.EjbWebServiceDispatcher.handlePost(EjbWebServiceDispatcher.java:146)
    at
com.sun.enterprise.webservice.EjbWebServiceDispatcher.invoke(EjbWebServiceDispatcher.java:79)
    at
com.sun.enterprise.webservice.EjbWebServiceValve.dispatchToEjbEndpoint(EjbWebServiceValve.java:187)
    at
com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:131)
    at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:542)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
    at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
    at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185)
    at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653)
    at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534)
    at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403)
    at
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)

--
Davide Ling
Sito personale - http://davideling.altervista.org