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:[email protected]]
Gesendet: Donnerstag, 10. November 2011 16:45
An: [email protected]; [email protected]
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: [email protected]
To: [email protected]
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