You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by Valerio Vianello <va...@yahoo.it> on 2006/07/13 15:52:58 UTC
sandesha and kandula
Hi,
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"></handler>
</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"></handler>
</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.<init>(URI.java:311)
...........
any suggestion ?
Thanks Valerio