axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Severin Ecker (JIRA)" <j...@apache.org>
Subject [jira] Created: (AXIS2-3032) Anonymous WS operation invocation
Date Mon, 30 Jul 2007 09:01:53 GMT
Anonymous WS operation invocation
---------------------------------

                 Key: AXIS2-3032
                 URL: https://issues.apache.org/jira/browse/AXIS2-3032
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: kernel
    Affects Versions: 1.2
            Reporter: Severin Ecker
            Priority: Minor


I'm not 100% positive that this really is a bug, but since i got no reply neither in the users
nor in the developers list i'm filing it here to raise attention.

I have a webservice (using axis2 to handle the soap stuff) and I wanted to use this service
with both, WSDL-based access (i was using SOAPui for this) and anonymous operation invocation
(with the ServiceClient.sendReceive(OMElement elem) method).

Using WSDL base access everything works as intended (e.g.: using the following SOAP envelope)

<soap:Envelope
   xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
   xmlns:ns="http://myNS.com">

   <soap:Header/>
   <soap:Body>
     <ns:GetCapabilitiesRequest/>
   </soap:Body>
</soap:Envelope>

At service implementation site within the method getCapabilities(OMElement e); (<-- this
is the invoked method)
the parameter e is

<ns:GetCapabilitiesRequest/>

So far so good.

Now when trying to access anonymously I have to encode the operation somewhere so I have the
following envelope

<soap:Envelope
   xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
   xmlns:ns="http://myNS.com">

   <soap:Header/>
   <soap:Body>
     <ns:getCapabilities>
       <in0>
         <ns:GetCapabilitiesRequest/>
       </in0>
     </ns:getCapabilities>
   </soap:Body>
</soap:Envelope>

The request gets resolved correcty by axis (using the
SOAPMessageBodyBasedDispatcher) BUT here's the catch. Suddenly the parameter which the (correct!)
service operation gets is

<ns:getCapabilities>
  <in0>
    <ns:GetCapabilitiesRequest/>
  </in0>
</ns:getCapabilities>

This is rather useless because in that case the service operation must be ready to handle
all kinds of different parameters depending on the invocation method used!? Shouldn't the
SOAPMessageBodyBasedDispatcher remove the 'meta-informational' stuff (in this case the getCapabilities
(aka operation-name), and in0 (parameter direction)) and only send the real parameter to the
operation?

If I'm mistaken, how can I invoke an operation anonymously and does not have the problem of
ending up with wrong parameters on the service side?


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message