Seems like there are three key things different when you create the
SOAP message.
1) Its using SOAP Encoding which is not WS-I compliant. I don't think
Axis2 supports SOAP encoding
2) The namespace on the Message element is empty.
3) There is an xsi:type attribute.
My hunch is that the problem is caused by #1. Can you try the
combinations?
Paul
On 5/12/06, *Benjamin Schmeling * <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
The TCP Monitor shows that there is a Create Sequence message and the
Sequence message which is sent several times.
I compared the messages, when I do the sending with the common
mechanism
and the one which is not working:
Not working (When I do it with a custom SOAP message):
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope
xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soapenv:Header>
<wsa:To>
http://localhost:8080/axis2/services/TestWebservice
</wsa:To>
<wsa:ReplyTo>
<wsa:Address>
http://192.168.2.28:6060/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__
</wsa:Address>
</wsa:ReplyTo>
<wsa:MessageID>
urn:uuid:1D1AD9A62C5E91BDA111474329524691
</wsa:MessageID>
<wsa:Action>testWS1</wsa:Action>
<wsrm:Sequence
xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
soapenv:mustUnderstand="1">
<wsrm:Identifier>
urn:uuid:586A806EA5B897625C11474329535803
</wsrm:Identifier>
<wsrm:MessageNumber>1</wsrm:MessageNumber>
<wsrm:LastMessage />
</wsrm:Sequence>
</soapenv:Header>
<soapenv:Body>
<ns1:testWS1
xmlns:ns1=" http://localhost:8080/axis2/services/TestWebservice"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<message xsi:type="xsd:string">test</message>
</ns1:testWS1>
</soapenv:Body>
</soapenv:Envelope>
working (this is produced when I do it like in the common examples):
<soapenv:Envelope
xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soapenv:Header>
<wsa:To>
http://localhost:8080/axis2/services/TestWebservice
</wsa:To>
<wsa:ReplyTo>
<wsa:Address>
http://192.168.2.28:6060/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__
<http://192.168.2.28:6060/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__>
</wsa:Address>
</wsa:ReplyTo>
<wsa:MessageID>
urn:uuid:A85BC3699C62F1BE9C11474295481541
</wsa:MessageID>
<wsa:Action>testWS1</wsa:Action>
<wsrm:Sequence
xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
soapenv:mustUnderstand="1">
<wsrm:Identifier>
urn:uuid:F2318FAB2CF9BB22C211474295494053
</wsrm:Identifier>
<wsrm:MessageNumber>1</wsrm:MessageNumber>
<wsrm:LastMessage />
</wsrm:Sequence>
</soapenv:Header>
<soapenv:Body>
<TestWebservice:testWS1
xmlns:TestWebservice="
http://localhost:8080/axis2/services/TestWebservice">
<TestWebservice:message>Text</TestWebservice:message>
</TestWebservice:testWS1>
</soapenv:Body>
</soapenv:Envelope>
> Have you tried using the TCPMon to see the message passing through?
>
> Paul
>
> On 5/12/06, *Benjamin Schmeling* < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>> wrote:
>
> Okay,
>
> This is the SOAP message:
>
> <?xml version=' 1.0' encoding='utf-8'?>
> <soapenv:Envelope
> xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
> xmlns:xsd=' http://www.w3.org/2001/XMLSchema'
> xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
> xmlns:wsrm=' http://schemas.xmlsoap.org/ws/2005/02/rm
> <http://schemas.xmlsoap.org/ws/2005/02/rm>'
> xmlns:wsa=' http://schemas.xmlsoap.org/ws/2004/08/addressing'
> <http://schemas.xmlsoap.org/ws/2004/08/addressing%27>>
> <soapenv:Body>
> <ns1:testWS1
> soapenv:encodingStyle='
http://schemas.xmlsoap.org/soap/encoding/'
> xmlns:ns1='TestWebservice'>
> <message xsi:type='xsd:string'
xmlns=''>test</message>
> </ns1:testWS1>
> </soapenv:Body>
> </soapenv:Envelope>
>
> My code looks like this now and the exception is not thrown
> anymore, but
> nevertheless there is no message sent; but an error (12 Mai 2006
> 11:32:53,329 INFO AxisEngine:527 - Received Error Message
with id
> null):
>
> OMElement payload = getPayload(message);
> OMElement omReturn = client.sendReceive(payload);
>
> private OMElement getPayload(String soap) throws
> FactoryConfigurationError, IOException, XMLStreamException,
> SAXException, ParserConfigurationException{
> ByteArrayInputStream inStr = new
> ByteArrayInputStream(soap.getBytes());
> SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> StAXSOAPModelBuilder builder =
>
OMXMLBuilderFactory.createStAXSOAPModelBuilder(fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
> SOAPEnvelope env = builder.getSOAPEnvelope();
> return (OMElement) env.getBody().getFirstOMChild();
> }
>
> Maybe my axis2 is misconfigured? When I send a simple
message like in
> the examples this works but in the server I always got that
pn the
> logs:
>
> - I/O exception (java.net.ConnectException) caught when
processing
> request: Connection refused: connect
> - Retrying request
> - I/O exception (java.net.ConnectException ) caught when
processing
> request: Connection refused: connect
> - Retrying request
> ....
>
> I am using Sandesha2-1.0 and Axis2-1.0.
>
> Thanks,
>
> Benjamin
> > Hi Benajamin,
> >
> > There is not sendReveive method that takes a SOAP envelope
as the
> > parameter. Instead what you should give is the payload of
your SOAP
> > envelope. If you want to add headers there is a seperate
> 'adddHeader'
> > method available.
> >
> > If you are still getting the error, please send your full
client
> code
> > and the String u use to generate the SOAP envelope, for me to
> > reproduce the error.
> >
> >
> > Chamikara
> >
> >
> > On 5/11/06, *Benjamin Schmeling*
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> >
> > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>> wrote:
> >
> > Sorry my fault my code looks like this:
> >
> > ByteArrayInputStream inStr = new
> > ByteArrayInputStream(soap.getBytes());
> > SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> > StAXSOAPModelBuilder builder =
> > OMXMLBuilderFactory.createStAXSOAPModelBuilder
> >
>
(fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
> >
> > SOAPEnvelope env = builder.getSOAPEnvelope();
> > OMElement omReturn = client.sendReceive(env);
> >
> > But the same error like before...
> > > Hi Benajamin,
> > >
> > > As I gave in my previous code example dont use the line
> > > fac.createSOAPEnvelope (parser) to build the SOAP
envelope.
> > >
> > > Use the method 'getSOAPEnvelope' of the
StAXSOAPModelBuilder,
> > > Here it is again,
> > >
> > > String soap = "....";
> > > ByteArrayInputStream inStr = new
> > ByteArrayInputStream(soap.getBytes());
> > > SOAPFactory fac =
OMAbstractFactory.getSOAP11Factory();
> > > StAXSOAPModelBuilder builder =
> > > OMXMLBuilderFactory.createStAXSOAPModelBuilder
> > >
> > >
>
(fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
> > > SOAPEnvelope env = builder.getSOAPEnvelope();
> > > client.sendReceive(env );
> > >
> > >
> > >
> > >
> > > Chamikara
> > >
> > >
> > > On 5/11/06, *Benjamin Schmeling*
> <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> <mailto:
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
> > <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>
> > > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>>> wrote:
> > >
> > > Hi,
> > >
> > > String soap = "....";
> > > ByteArrayInputStream inStr = new
> > > ByteArrayInputStream( soap.getBytes ());
> > > SOAPFactory fac =
OMAbstractFactory.getSOAP11Factory();
> > > StAXSOAPModelBuilder builder =
> > > OMXMLBuilderFactory.createStAXSOAPModelBuilder
> > >
> >
>
(fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
> > > SOAPEnvelope env = builder.getSOAPEnvelope();
> > > client.sendReceive(fac.createSOAPEnvelope (parser));
> > >
> > > the last line throws the following exception:
> > >
> > > org.apache.axiom.om.OMException : Root Element
can not be
> > detached
> > > at
> > >
> >
>
org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.detach(SOAPEnvelopeImpl.java
:155)
> > > at
> > > org.apache.axiom.om.impl.llom.OMNodeImpl.setParent
> > > (OMNodeImpl.java :117)
> > > at
> > >
> >
>
org.apache.axiom.soap.impl.llom.SOAPElement.setParent(SOAPElement.java:74)
> > > at
> > >
org.apache.axiom.om.impl.llom.OMElementImpl.addChild
> > (OMElementImpl.java:240)
> > > at
> > > org.apache.axiom.om.impl.llom.OMElementImpl.addChild
> > > (OMElementImpl.java:197)
> > > at
> > >
org.apache.axis2.client.ServiceClient.fillSoapEnvelope
> > (ServiceClient.java:554)
> > > at
> > >
> >
>
org.apache.axis2.client.ServiceClient.sendReceiveNonBlocking(ServiceClient.java
> :467)
> > > at
> > > org.apache.axis2.client.ServiceClient.sendReceive
> > (ServiceClient.java:411)
> > > at
> > >
> > org.apache.axis2.client.ServiceClient.sendReceive
> (ServiceClient.java:394)
> > >
> > > What does this mean?
> > > > Hi Benjamin,
> > > >
> > > > Try following,
> > > >
> > > > String soap = "....";
> > > > ByteArrayInputStream inStr = new
> > > ByteArrayInputStream(soap.getBytes());
> > > > SOAPFactory fac =
> OMAbstractFactory.getSOAP11Factory();
> > > > StAXSOAPModelBuilder builder =
> > > >
> > >
> >
> OMXMLBuilderFactory.createStAXSOAPModelBuilder
(fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
> >
> > > > SOAPEnvelope env = builder.getSOAPEnvelope();
> > > >
> > > >
> > > >
> > > > Chamikara
> > > >
> > > >
> > > >
> > > > On 5/10/06, *Benjamin Schmeling* <
> > [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
<mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
<mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>
> > > <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>>
> > > > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>
> > > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>>>> wrote:
> > > >
> > > > Hi,
> > > >
> > > > I want to write a Web Service which sends
> reliable SOAP
> > > messages with
> > > > Sandesha2. My input is a SOAP message as
String.
> The
> > problem
> > > is that I
> > > > do not know how to transform this into an
OMElement
> > that can
> > > be sent
> > > > with the ServiceClient class.
> > > >
> > > > I tried something like this but it did not
work:
> > > >
> > > > String soap = "....";
> > > > ByteArrayInputStream inStr = new
> > > > ByteArrayInputStream( soap.getBytes());
> > > > SOAPFactory fac =
> OMAbstractFactory.getSOAP11Factory();
> > > > OMXMLParserWrapper parser =
> > > >
OMXMLBuilderFactory.createStAXSOAPModelBuilder (fac,
> > > > XMLInputFactory.newInstance
> > ().createXMLStreamReader(inStr));
> > > > client.sendReceive (fac.createSOAPEnvelope
(parser));
> > > >
> > > > How can I get this working?
> > > >
> > > > Thanks,
> > > >
> > > > Benjamin
> > > >
> > > >
> > > >
> > >
> >
>
---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>
> > > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>>
> > > > <mailto:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>
> > > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>>>
> > > > For additional commands, e-mail:
> > > [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>
> > > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>>
> > > > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>
> > > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>>>
> > > >
> > > >
> > >
> > >
> > >
> >
> >
> >
>
>
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> For additional commands, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
>
>
>
>
> --
> Paul Fremantle
> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
>
> http://bloglines.com/blog/paulfremantle
<http://bloglines.com/blog/paulfremantle>
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
>
> "Oxygenating the Web Service Platform", www.wso2.com
<http://www.wso2.com> <http://www.wso2.com>
--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
http://bloglines.com/blog/paulfremantle
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
"Oxygenating the Web Service Platform", www.wso2.com <http://www.wso2.com>