axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stadelmann Josef" <josef.stadelm...@axa-winterthur.ch>
Subject AW: [axis2] migrating axis2-1.2 to axis2-1.6.1 actionMapping Problem
Date Thu, 10 Nov 2011 18:12:26 GMT
Thank you Martin

 

I am not having a WSDL; 

 

By default an Axis2-1.2-server when set with the service.xml as shown below, without an <outputActionMapping>
defined returns for an <actionMapping>urn:login</actionMapping> urn:login in the
soap response header. But an Axis2-1.6.1-server returns by default urn:loginResponse in its
soap response header.

 

Adding  <outputActionMapping>urn:login</outputActionMapping> to servioce.xml overrides
this default behaviour to return urn:login, what my .NET WCF client stub expects.

The client stub can be generated to expect urn:loginResponse, but all must match.

 

The thing I am wondering is how to do the same by coding at the service. BUT this is not important
for the moment as my clinet works and as it gets always urn:login back from regardless if
Axis2-1.2 or Axis2-1.6.1 is engaged.

 

Josef

 

The service.xml can do it . . .

 

<serviceGroup>

    <service name="SpezplaService" scope="soapsession">

        <description>SpezplaService with login, fktmap and logout using Apache Axis2/Java</description>

        <module ref="addressing"/>

        <parameter name="ServiceClass" locked="false">axawl.spezpla.servers.SpezplaService.SpServer</parameter>

        <operation name="login">

            <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

            <actionMapping>urn:login</actionMapping>

            <outputActionMapping>urn:login</outputActionMapping>

        </operation>

        <operation name="fktmap">

            <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

            <actionMapping>urn:fktmap</actionMapping>

            <outputActionMapping>urn:fktmap</outputActionMapping>

        </operation>

        <operation name="logout">

            <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

            <actionMapping>urn:logout</actionMapping>

            <outputActionMapping>urn:logout</outputActionMapping>

        </operation>

    </service>

</serviceGroup>

 

Von: Martin Gainty [mailto:mgainty@hotmail.com] 
Gesendet: Donnerstag, 10. November 2011 16:45
An: java-user@axis.apache.org; axis-user@ws.apache.org
Betreff: RE: [axis2] migrating axis2-1.2 to axis2-1.6.1 actionMapping Problem

 

Josef.wsdl:
 
<wsdl:operation name="handleStringArray" parameterOrder="input">
   <wsdl:input name="handleStringArrayRequest" message="impl:handleStringArrayRequest"/>
   <wsdl:output name="handleStringArrayResponse" message="impl:handleStringArrayResponse"/>
  </wsdl:operation>
<wsdl:message name="handleStringArrayResponse">
  <wsdl:part name="output" element="impl:outputElement"/>
 </wsdl:message>

............ändern Sie zu................

 <wsdl:operation name="handleStringArray" parameterOrder="input">
<wsdl:input name="handleStringArrayRequest" message="impl:handleStringArrayRequest"/>
<wsdl:output name="handleStringArrayResponse" message="impl:handleStringArray"/>
</wsdl:operation>
<wsdl:message name="handleStringArray">
  <wsdl:part name="output" element="impl:outputElement"/>
 </wsdl:message>

Mit Freuendlichen Gruben
Martin 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung

Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten
wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist
unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet
keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen
wir keine Haftung fuer den Inhalt uebernehmen.
 

________________________________

Subject: [axis2] migrating axis2-1.2 to axis2-1.6.1 actionMapping Problem
Date: Thu, 10 Nov 2011 15:16:18 +0100
From: josef.stadelmann@axa-winterthur.ch
To: axis-user@ws.apache.org

I migrated my web service from axis2-1.2 to axis2-1.6.1 and have the following anomalie now:

There are 3 methodes

Login

Fktmap

Logout

Resulting in a 

Action urn:login, urn:fktmap urn:logout

As a response from axis2-1.2    I  got always urn:login                      urn:fktmap  
                       urn:logout

As a response from axis2-1.6.1 I  get new     urn:loginResponse        urn:fktmapResponse
          urn:logoutResponse

So that has changed from axis2-1.2 to axis2-1.6.1 what ever is correct I don't mind !!! 

For me the interface between the two has changed dramatically with a for us very unplesant
side effect which we don't know how to handle at the moment.

Because:

My client is a Visual Basic .NET with transport dlls in Visual C#.NET based on WCF 3.5

The generated stub expects urn:login and urn:login with the response too. But now gets urn:loginResponse
instead adding "Response" to all action elements

And fails to deliver ofcourse.

I have fixed my stub to expect for a urn:login action a urn:loginRespons action back and that
works

BUT - we have a lot of operating servers and we have only 3 client codse release cycles per
year!

We have now old axis2-1.2 based services behaviour which deliver urn:login action for Request
and Response

And we have new axis2-1.6.1 based behaviour which concatenates to each request action code
the word Response on a return from server.

 

I can not reconstruct my client to deal with 2 DLL's one expecting urn:login the orther expecting
urn:loginRespons as action back from server.

 

Question:

How can I prevent Axis2-1.6.1, from returning urn:loginResponse but retruning urn:login only

NOTE: no WSDL was used for code generation at all, all is  just java coded using OMElement
very much as the examples in axis2 samples do.

 

Josef


Mime
View raw message