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:mgai...@hotmail.com] 
Gesendet: Donnerstag, 10. November 2011 16:45
An: java-user@axis.apache.org; axis-u...@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.stadelm...@axa-winterthur.ch
To: axis-u...@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

Reply via email to