Hi, I have solved my problem myself. I set action using:
options.setAction(messageName); Thanks -----Original Message----- From: Deepal Jayasinghe [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 10, 2006 11:59 PM To: axis-user@ws.apache.org Subject: Re: Use axis2 to call bpel Hi Anne; Can you please explain to me why do you use serviceGroupConetxtID?. If this is the first request of given invocation , then no point of sending that in fact you will be getting a SOAP fault as well. If the service is deployed in SOAP session scope sever will send you the corresponding servicegroup id , then you can send that from second message invocation on ward. Anne Thomas Manes wrote: > What is the SOAPAction URI specified in the WSDL for "initiateProcess" > operation? You should specify that URI in setAction method. > > Anne > > On 5/10/06, * nancy* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > Hi, > I have not used that method. My code is: > > Public void invoke(){ > Options options = new Options(); > options.setTransportInProtocol(Constants.TRANSPORT_HTTP); > boolean exit = false; > String serviceGroupContextId = null; > EndpointReference EPR=new > EndpointReference(webserviceURL); > > options.setTo(EPR); > options.setTimeOutInMilliSeconds (50000); > > ServiceClient serviceClient; > serviceClient = new ServiceClient(); > serviceClient.setOptions(options); > MessageContext requestMessageContext = new > MessageContext(); > > requestMessageContext.setEnvelope(getRequestEnvelope(messageName, > parametersList, > serviceGroupContextId)); > > OperationClient opClient = serviceClient > .createClient( > ServiceClient.ANON_OUT_IN_OP); > opClient.addMessageContext(requestMessageContext); > opClient.setOptions(options); > > opClient.execute(true); > } > > private SOAPEnvelope getRequestEnvelope(String operationName, > HashMap param, String groupContextId) { > String > namespace1="http://services.oracle.com/bpel/Process"; > > SOAPFactory fac = > OMAbstractFactory.getSOAP11Factory(); > SOAPEnvelope envelope = fac.getDefaultEnvelope(); > OMNamespace namespace = fac.createOMNamespace( > > namespace1, "Process"); > > OMElement params1 = fac.createOMElement(operationName, > namespace); > Set set=param.keySet(); > Iterator iter=set.iterator(); > > while(iter.hasNext ()){ > String paramName=iter.next().toString(); > String > paramValue=param.get(paramName).toString(); > OMElement paramOM = > fac.createOMElement (paramName,namespace); > paramOM.setText(paramValue); > params1.addChild(paramOM); > } > envelope.getBody().setFirstChild(params1); > > > return envelope; > } > > Thanks > Nancy > > -----Original Message----- > From: Eran Chinthaka [mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>] > Sent: Wednesday, May 10, 2006 2:34 PM > To: axis-user@ws.apache.org <mailto:axis-user@ws.apache.org> > Subject: Re: Use axis2 to call bpel > > Axis2 will never set a non-empty SOAPAction, if you have not called > options.setAction(youraction). > > Are u sure you have not called that method. > > -- Chinthaka > > nancy wrote: > > Yah I understand that marking message with Urgent won't help in > getting > > quick reply from others.Anyways,I want to send a SOAP Envelope > in the way > > that I don't need to manipulate the requested parameter > (OMELEMENT) there > to > > get the parameters. > > > > I tried it but with no success. Exception is coming: > > > > Cannot find binding operation definition of soapAction > '/orabpel' in > > > http://daff06:9700/orabpel/default/ProcessManager/1.0/ProcessManager.wsdl > > > > My Request was: > > > > > > My request was: > > > > <?xml version='1.0' encoding='UTF-8'?> > > > > <soapenv:Envelope > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ > <http://schemas.xmlsoap.org/soap/envelope/>"><soapenv:Header > /> > > > > <soapenv:Body> > > > > <Process:initiateProcess > > > xmlns:Process="http://services.oracle.com/bpel/Process > <http://services.oracle.com/bpel/Process>"><Process:primaryKeyV > > > alue>1</Process:primaryKeyValue><Process:businessProcessId>1</Process:busine > > > ssProcessId></Process:initiateProcess></soapenv:Body></soapenv:Envelope> > > > > > > > And my ProcessManager.wsdl has no defined SOAP BINDINGS. > > > > Is it necessary to define soap bindings with wsdl. > > Why axis2 is taking /orabpel as soapaction? > > > > Thanks > > Nancy > > > > -----Original Message----- > > From: Eran Chinthaka [mailto:[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>] > > Sent: Wednesday, May 10, 2006 1:11 PM > > To: axis-user@ws.apache.org <mailto:axis-user@ws.apache.org> > > Subject: Re: URGENT Use axis2 to call bpel > > > > Hi Nancy, > > > > First, marking your messages to this list as URGENT won't help > you in > > any means. Rather it will make the case worse. Opensource > developers are > > willing and like to help others, but can not be forced to do so > (except > > you have a private service contract with them ;) ). > > > > > > nancy wrote: > >> Can anyone tell how to use axis 2 to call bpel process. Earlier > I was > >> using java classes generated by wsdl2java tool of axis1.But > now; I don't > >> want to use java classes. I want to just mention web service URL, > >> message name and parameters.For eg: > >> > > > > .............. > > > > > >> But using this I need to write code to get result out of > OMElement. Or > >> you can say I want to know how bpel process can understand the > output or > >> input of axis2? I am using ORACLE BPEL. > >> > > > > Sorry I can not understand this problem. Do you wanna send a > SOAPEnvelop > > e and get back only the Body first child ? If you can explain a > bit more > > I might be able to help you. > > > > BTW, Axis2 or any web service engine do not care whether you > talk to a > > BPEL server or not. It sends out and receive SOAP messages, > that's all. > > > > -- Chinthaka > > > >> > >> > >> Thanks > >> > > > > > > > > > > > > -- Thanks, Deepal ................................................................ ~Future is Open~