Dasarath Weeratunge schrieb:
Quoting Benjamin Schmeling <[EMAIL PROTECTED]>:

Hi,

I have exactly the same problem like you, I have already mailed to the Sandesha developer list. The problem is that Sandesha does not support global addressing handlers, because addressing is handled internally. Maybe you should write to this list, maybe they will work on getting this solved. Another possibility would be to configure Kandula without using global addressing handlers but I don't know if this is possible.
Hi,

The problem is in the addressing implementation which is not part of
kandula. It is not exactly a problem but a feature becoming a pain. Like
Hannes suggested just use a non-empty soap action and things should work fine.
That doesn't fix the problem. The global addresing handler checks for already existent addressing headers. They are already there when the SOAP message is sent by using Sandesha. The addressing headers are added to the SOAP message by Sandesha but they are not added as property for the call object so they are ignored by the handler and replaced by default ones. I talked to Jaliya about this and he fixed that. But nevertheless there are other problems with Sandesha yet...I cannot follow him yet about the remaining problem.
Is Sandesha using a different addressing impl?
No.
It will be great if you guys could send us a sample application that uses both Kandula and Sandesha together.
The problem occurs also if you have two separate web services where one is using Sandesha and one that is using Kandula. The cause for the problem are the global addresing handlers. If they are present Sandesha does not wor;. if not, Kandula does not work properly.
thanks,
--dasarath

my goal is to develop an example using both kandula and sandesha on axis 1.3 I've made a client that calls a service A which in turn invokes a service B in
a reliabile and transactional way.
I've used separately both frameworks and all seem to work, but then I tried to join kandula and sandesha using the following client config wsdd file for the
service A:
<?xml version="1.0" encoding="UTF-8"?>

<deployment xmlns="http://xml.apache.org/axis/wsdd/"; xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>

<globalConfiguration>

<parameter name="adminPassword" value="admin"/>

<parameter name="enableNamespacePrefixOptimization" value="true"/>

<parameter name="disablePrettyXML" value="true"/>

<parameter name="sendMultiRefs" value="true"/>

<parameter name="sendXsiTypes" value="true"/>

<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>

<parameter name="sendXMLDeclaration" value="true"/>

<!-- handler kandula -->

<requestFlow>

<handler type="java:org.apache.axis.message.addressing.handler.AddressingHandler" />

<handler type="java:org.apache.kandula.coordinator.at.TxHandler" />

</requestFlow>

<responseFlow>

<handler type="java:org.apache.axis.message.addressing.handler.AddressingHandler" />

</responseFlow>

</globalConfiguration>

<!-- handler sandesha -->

<handler name="RMSender" type="java:org.apache.sandesha.client.RMSender"/>

<transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/>

<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>

<transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/>

<transport name="RMTransport" pivot="RMSender"/>

</deployment>

The following deploy wsdd file for service A:

<deployment xmlns="http://xml.apache.org/axis/wsdd/";

xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>

<service name="Coordinatore" provider="java:RPC">

<parameter name="className" value="kandulaClient.Coordinatore"/>

<parameter name="allowedMethods" value="*" />

<requestFlow>

<handler type="java:org.apache.axis.message.addressing.handler.AddressingHandler" />

<handler type="java:org.apache.kandula.coordinator.at.TxHandler" />

</requestFlow>

<responseFlow>

<handler type="java:org.apache.axis.message.addressing.handler.AddressingHandler" />

</responseFlow>

<transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/>

<transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/>

<typeMapping

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing";

deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"

encodingStyle=""

qname="wsa:EndpointReference"

serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"

type="java:org.apache.axis.message.addressing.EndpointReferenceType"/>

<typeMapping

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing";

deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"

encodingStyle=""

qname="wsa:ReferencePropertiesType"

serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"

type="java:org.apache.axis.message.addressing.ReferencePropertiesType"/>

<typeMapping

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing";

deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"

encodingStyle=""

qname="wsa:Address"

serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"

type="java:org.apache.axis.message.addressing.Address"/>

<typeMapping

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing";

deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"

encodingStyle=""

qname="wsa:PortType"

serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"

type="java:org.apache.axis.message.addressing.PortType" />

<typeMapping

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing";

deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"

encodingStyle=""

qname="wsa:ServiceNameType"

serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"

type="java:org.apache.axis.message.addressing.ServiceNameType" />

</service>

<service name="RMService" provider="Handler">

<requestFlow>

<handler
type="java:org.apache.sandesha.ws.rm.handlers.RMServerRequestHandler"></handler>
<handler
type="java:org.apache.axis.message.addressing.handler.AddressingHandler"></handl
er>
</requestFlow>

<parameter name="handlerClass" value="org.apache.sandesha.ws.rm.providers.RMClientProvider"/>

<parameter name="className" value="org.apache.sandesha.client.RMService"/>

<parameter name="allowedMethods" value="*"/>

<parameter name="scope" value="request"/>

</service>

</deployment>

and for the service B :

<deployment xmlns="http://xml.apache.org/axis/wsdd/"; xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>

<service name="Servizio1" provider="Handler">

<requestFlow>

<handler
type="java:org.apache.sandesha.ws.rm.handlers.RMServerRequestHandler"></handler>
<handler
type="java:org.apache.axis.message.addressing.handler.AddressingHandler"></handl
er>
</requestFlow>

<parameter name="handlerClass" value="org.apache.sandesha.ws.rm.providers.RMProvider"/>

<parameter name="className" value="kandulaServizio1.Servizio1"/>

<parameter name="allowedMethods" value="*"/>

<parameter name="scope" value="request"/>

</service>

</deployment>

I get the following error from the server :

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
faultString: org.apache.axis.types.URI$MalformedURIException: Cannot initialize URI with empty parameters.
 faultActor:
 faultNode:
 faultDetail:

{http://xml.apache.org/axis/}
stackTrace:org.apache.axis.types.URI$MalformedURIException:
Cannot initialize URI with empty parameters.
 at org.apache.axis.types.URI.initialize(URI.java:614)
 at org.apache.axis.types.URI.&lt;init&gt;(URI.java:311)

...........

any suggestion ?

Thanks Valerio


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to