You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Stadelmann Josef <jo...@axa-winterthur.ch> on 2011/11/10 15:16:18 UTC

[axis2] migrating axis2-1.2 to axis2-1.6.1 actionMapping Problem

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


AW: [axis2] migrating axis2-1.2 to axis2-1.6.1 actionMapping Problem

Posted by Stadelmann Josef <jo...@axa-winterthur.ch>.
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


RE: [axis2] migrating axis2-1.2 to axis2-1.6.1 actionMapping Problem

Posted by Martin Gainty <mg...@hotmail.com>.
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








[axis2] migrating axis2-1.2 to axis2-1.6.1 actionMapping Problem




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