[jboss-user] [JBoss jBPM] - Re: Request didn't include a SOAP Message

bertrand.njiipwo do-not-reply at jboss.com
Fri Dec 15 08:43:07 EST 2006


I'll like to bring some precision once again.

I have tried some test scenario. 

When i specify the service wsdl location: http://localhost.8081/creditprocess/schufa at the first time monitoring component receive a request. Hier some output:


  | Starting daemon thread...ok.
  |  - Listening to port: 8081
  | 
  | 1. Incoming TCP connection from 127.0.0.1:1089
  | log4j:WARN Detected problem with connection: java.net.SocketException: Software
  | caused connection abort: socket write error
  | 1. Received request
  |  - Request URL: '/creditprocess/schufa'
  |  - Request did not include a SOAP message.
  |  - Searching endpoint URL with target 'portal:Schufa'
  |     - Endpoint URL found: 'http://127.0.0.1:8080/axis/services/SchufaServiceB',
  | known response time is '8000'
  |  - Calling remote service (timeout 16000ms)...done. (Call duration: 7581 ms)
  | 1. Sending response to client...done.
  | 1. Request was successfully handled.
  | 

but if i deployed the schufa service as process partner and specify the wsdl-location to http://localhost:8080/schufa/schufaWS?wsdl, i can send the message to the service endpoint: http://localhost:8080/schufa/schufaWS. In this case the jbpm-module  runns perfectly and i can see the exanged Message persisted in the DB:


  | 
  | Client SOAPRequest to loanapproval process: 
  | 
  | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  | 	<SOAP-ENV:Body>
  | 		<m:apply xmlns:m="urn:samples:loanapproval">
  | 			<loanRequestParameters>
  | 				<firstName>MyFirstName</firstName>
  | 				<lastName>MyLastName</lastName>
  | 				<amount>1000</amount>
  | 			</loanRequestParameters>
  | 		</m:apply>
  | 	</SOAP-ENV:Body>
  | </SOAP-ENV:Envelope>
  | 
  | 
  | loanRequestParameters:
  | 
  | <?xml version="1.0" encoding="UTF-8"?>
  | 	<loanRequestParameters xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="urn:samples:loanapproval" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  | 		<firstName>MyfirstName</firstName>
  | 		<lastName>MyLastName</lastName>
  | 		<amount>1000</amount>
  | 	</loanRequestParameters>
  | 
  | loanResponse:
  | 
  | <?xml version="1.0" encoding="UTF-8"?>
  | 	<loanResponse><approved xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapBodyNS="urn:samples:schufa" 
  | 				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1"/>
  | 	</loanResponse>
  | 
  | validCustomerReturn:
  | 
  | <?xml version="1.0" encoding="UTF-8"?><validCustomerReturn xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapBodyNS="urn:samples:schufa" 
  | 							   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1"/>
  | 
  | _firstname:
  | 
  | <?xml version="1.0" encoding="UTF-8"?>
  | 	<_firstname xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
  | 		    xmlns:m="urn:samples:loanapproval" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  | 		    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">MyFirstName
  | 	</_firstname>
  | 
  | _surname:
  | 
  | <?xml version="1.0" encoding="UTF-8"?>
  | 	<_surname xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
  | 		  xmlns:m="urn:samples:loanapproval" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  | 		  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">MyLastName
  | 	</_surname>

Know when send a soap message directly to http://localhost:8081/creditprocess/schufa and specify the parameter value in the SOAP request its running fine.


Some possible cause of this problem is that i'm try to integrate an non ws4ee web service with my bussiness process. The jBPM module require a java classe as service endpoint  interface. With this he can access the message send and can persist this using hibernate (endpoint=http://localhost:8080/schufa/schufaWS). But if the service i'm trying to access is not a java service endpoint (endpoint=http://localhost:8081/creditprocess/schufa)  then the service Handler can't access the exchanged soap messages. This may be why the request is sent to the specified endpoint but there is no soap message inside.


With the first prototype the BPEL engine was BPEL4J from IBM and the services was deployed on the SOAP-Engine Axis and the monitoring component (java program) could catch the web service call inside the process execution an redirect it to the monitoring module without problem. Because of some features of jBPM by executing BPEL-Processes i'll like to substituate BPEL4J with jBPM and expect to get full access to the process execution information. 

I hope this can help a little bit.

The serverLog is avialabe (email).


Thanks once again


Bertrand Njipwo

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994221



More information about the jboss-user mailing list