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__
</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]>> 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]>>> 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]>>>> 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]>>>>> 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]>>>>
> > > 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]>>>>
> > >
> > >
> >
> >
> >
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
--
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>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]