Hi,

I have a simple oneway webservice implemented by a stateless session bean:

  | package beispiel;
  | 
  | import javax.ejb.Stateless;
  | import javax.jws.Oneway;
  | import javax.jws.WebMethod;
  | import javax.jws.WebService;
  | 
  | @WebService
  | @Stateless
  | public class Asynchron {
  |     
  |     @WebMethod
  |     @Oneway
  |     public void createAccount( String name ) {
  |             System.out.println("Asynchron: "+name);
  |     }
  | }
  | 
After deployment I can find the following wsdl file:
<?xml version="1.0" encoding="UTF-8"?>
  | <definitions name="AsynchronService"
  |     targetNamespace="http://beispiel/";
  |     xmlns:tns="http://beispiel/"; 
  |     xmlns:xsd="http://www.w3.org/2001/XMLSchema";
  |     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
  |     xmlns="http://schemas.xmlsoap.org/wsdl/";>
  |     <types>
  |             <xs:schema targetNamespace="http://beispiel/";
  |                     version="1.0" xmlns:tns="http://beispiel/";
  |                     xmlns:xs="http://www.w3.org/2001/XMLSchema";>
  |                     <xs:element name="createAccount" 
type="tns:createAccount" />
  |                     <xs:complexType name="createAccount">
  |                             <xs:sequence>
  |                                     <xs:element minOccurs="0" name="arg0"
  |                                             type="xs:string" />
  |                             </xs:sequence>
  |                     </xs:complexType>
  |             </xs:schema>
  |     </types>
  |     <message name="Asynchron_createAccount">
  |             <part name="createAccount" element="tns:createAccount" />
  |     </message>
  |     <portType name="Asynchron">
  |             <operation name="createAccount">
  |                     <input message="tns:Asynchron_createAccount" />
  |             </operation>
  |     </portType>
  |     <binding name="AsynchronBinding" type="tns:Asynchron">
  |             <soap:binding style="document"
  |                     transport="http://schemas.xmlsoap.org/soap/http"; />
  |             <operation name="createAccount">
  |                     <soap:operation soapAction="" />
  |                     <input>
  |                             <soap:body use="literal" />
  |                     </input>
  |             </operation>
  |     </binding>
  |     <service name="AsynchronService">
  |             <port name="AsynchronPort" binding="tns:AsynchronBinding">
  |                     <soap:address
  |                             
location="http://localhost:8080/Beispiel/Asynchron"; />
  |             </port>
  |     </service>
  | </definitions>
And I want to call this webservice from my bpel process:

  |     <bpws:variables>
  |             <bpws:variable messageType="ns0:PojoService_sayHello"
  |                     name="PartnerLinkRequest" />
  |             <bpws:variable messageType="ns0:PojoService_sayHelloResponse"
  |                     name="PartnerLinkResponse" />
  |             <bpws:variable messageType="ns0:Asynchron_createAccount"
  |                     name="Request" />
  |     </bpws:variables>
  |          ........
  |         <bpws:assign name="Asyn" validate="no">
  |             <bpws:copy>
  |                     <bpws:from><![CDATA['Hallo Welt!']]></bpws:from>
  |                     <bpws:to part="createAccount" variable="Request" />
  |             </bpws:copy>
  |     </bpws:assign>
  |     <bpws:invoke inputVariable="Request" 
  |                    name="Invoke"
  |                operation="createAccount" 
  |                    partnerLink="Asynchron"
  |                portType="ns0:Asynchron" />
  | 
with
        <plnk:partnerLinkType name="ASYNCHRONPLT">
  |             <plnk:role name="role4" portType="wsdl:Asynchron" />
  |     </plnk:partnerLinkType>
  | 
If I start the bpel process, the oneway webservice Asynchron is contacted, but 
the webservices receives only null and JBoss reports an error:
anonymous wrote : 22:26:41,893 INFO  [STDOUT] Asynchron: null
  | 22:26:41,903 ERROR [STDERR] [Fatal Error] :-1:-1: Premature end of file.
  | 
I recorded the bytes send to the application server with the TCP/IP-Monitor: 
POST /Beispiel/Asynchron?datatype=SOAPMessage HTTP/1.1
  | SOAPAction: ""
  | Content-Type: text/xml; charset=UTF-8
  | User-Agent: Java/1.5.0_10
  | Host: localhost:8000
  | Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
  | Connection: keep-alive
  | Content-Length: 239
  |     
  | <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
  |     <env:Header>
  |     </env:Header>
  |     <env:Body>
  |             <defaultNS:createAccount
  |                     xmlns:defaultNS='http://beispiel/'>
  |                     Hallo Welt!
  |             </defaultNS:createAccount>
  |     </env:Body>
  | </env:Envelope>
  | 
Is there an error in this? 

Furthermore I recorded the text send to the application server, when I call the 
webservice with the webservice explorer:
POST /Beispiel/Asynchron HTTP/1.1
  |     Host: localhost:8000
  |     Content-Type: text/xml; charset=utf-8
  |     Content-Length: 325
  |     Accept: application/soap+xml, application/dime, multipart/related, 
text/*
  |     User-Agent: IBM Web Services Explorer
  |     Cache-Control: no-cache
  |     Pragma: no-cache
  |     SOAPAction: ""
  |     Connection: close
  | <soapenv:Envelope
  |     xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
  |     xmlns:q0="http://beispiel/";
  |     xmlns:xsd="http://www.w3.org/2001/XMLSchema";
  |     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
  |     <soapenv:Body>
  |             <q0:createAccount>
  |                     <arg0>Hallo Welt!</arg0>
  |             </q0:createAccount>
  |     </soapenv:Body>
  | </soapenv:Envelope>
I get the correct parameter in the jboss log: Hallo Welt!
anonymous wrote : 22:34:55,136 INFO  [STDOUT] Asynchron.: Hallo Welt!

My question: Is it not possible to transfer parameters to  a oneway webservice?

Best regards,

Frank



View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4047070#4047070

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4047070
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to