Initiate process via SOAP

Hi all.
I initiate an instance of process via SOAP (Axis2) the first one works fine
but the rest throws exception.
When I restart the server(in JDev) the same scenario occurs
08/02/02 16:52:51 org.apache.axis2.AxisFault: java.lang.NullPointerException
08/02/02 16:52:51      at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486)
08/02/02 16:52:51      at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343)
08/02/02 16:52:51      at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)
08/02/02 16:52:51      at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
08/02/02 16:52:51      at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)

This sounds very similar to how my BPEL process behaves. I'm unable to post XML input into the "XML Source" region of the initiate screen unless the input is properly wrapped in the respective message type element.
Make sure your invoking client code is wrapping the input properly with the message type XML elements.

Similar Messages

  • Problem invoking BPEL process via SOAP

    Hi,
    I have a BPEL process which runs perfectly when invoked from the BPEL console. Now I try to invoke the BPEL process from another (Java) program and get some strange error message in the client. After enabling debug logging I can see a NullPointerException in the BPEL server log (it's Oracle BPEL server 2.1.2 build 1226).
    Here the output from the console:
    15:21:40,088 INFO [STDOUT] <2006-03-24 15:21:40,088> <DEBUG> <default.collaxa.cube.ws> <CXSOAPProvider::processBPELMessage> soapAction:
    15:21:40,088 INFO [STDOUT] <2006-03-24 15:21:40,088> <DEBUG> <default.collaxa.cube.engine.deployment> <BPELArchive::unpack> Unpacking process 'Customer_Status', revision '1.0' from BPEL archive 'bpel_Customer_Status_1.0.jar'
    15:21:40,098 INFO [STDOUT] <2006-03-24 15:21:40,098> <DEBUG> <default.collaxa.cube.engine.deployment> <BPELArchive::unpack> Extracted archive up-to-date
    15:21:40,158 INFO [STDOUT] <2006-03-24 15:21:40,158> <DEBUG> <default.collaxa.cube.engine.deployment> <CubeProcessFactory::create> Creating process 'Customer_Status' (revision '1.0')
    15:21:40,579 INFO [STDOUT] <2006-03-24 15:21:40,579> <DEBUG> <default.collaxa.cube.engine.deployment> <CubeProcessFactory::create> Done creating process 'Customer_Status' (revision '1.0')
    15:21:40,589 INFO [STDOUT] <2006-03-24 15:21:40,579> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::clear> Clearing WSDL cache for process Customer_Status1.0
    15:21:40,619 INFO [STDOUT] <2006-03-24 15:21:40,619> <DEBUG> <default.collaxa.cube.ws> loaded custom WSDL Extension oracle.tip.adapter.fw.wsif.jca.JCAExtensionRegistry
    15:21:40,619 INFO [STDOUT] <2006-03-24 15:21:40,619> <DEBUG> <default.collaxa.cube.ws> loaded custom WSDL Extension oracle.tip.adapter.fw.wsif.jca.PCExtensionRegistry
    15:21:40,709 INFO [STDOUT] <2006-03-24 15:21:40,709> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> registered wsdl at http://HAL9000:9700/orabpel/default/Customer_Status/1.0/Customer_Status.wsdl
    15:21:40,709 INFO [STDOUT] <2006-03-24 15:21:40,709> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> got wsdl at: http://HAL9000:9700/orabpel/default/Customer_Status/1.0/Customer_Status.wsdl
    15:21:40,709 INFO [STDOUT] <2006-03-24 15:21:40,709> <DEBUG> <default.collaxa.cube.ws> <CXSOAPProvider::invoke> Error when process incoming message
    java.lang.NullPointerException
    at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.processBPELMessage(CXSOAPProvider.java:209)
    at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.invoke(CXSOAPProvider.java:114)
    at orabpel.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
    at orabpel.apache.axis.SimpleChain.doVisiting(SimpleChain.java:152)
    at orabpel.apache.axis.SimpleChain.invoke(SimpleChain.java:122)
    at orabpel.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
    at orabpel.apache.axis.server.AxisServer.invoke(AxisServer.java:315)
    at orabpel.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:698)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at orabpel.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
    Any suggestion?
    Thanks in advance...

    This sounds very similar to how my BPEL process behaves. I'm unable to post XML input into the "XML Source" region of the initiate screen unless the input is properly wrapped in the respective message type element.
    Make sure your invoking client code is wrapping the input properly with the message type XML elements.

  • Accessing BPEL processes via a proxy web service performance issues

    Hello,
    I have more BPEL processes implemented, each such a process implementing business functionality in a certain domain (generally, a domain has more business processes).
    The request was to provide a single web service for each domain. It means that all the business methods (processes) in the same domain should be accessed through the same web service. This request doesn't make possible to expose the BPEL processes themselves as web services that could be directly consumed by different clients of the application.
    The alternative will be to implement the "domain" web services through a Java class, for instance. With this approach, the Java based domain web services will expose the needed business methods to the clients. And the Java class will get the request input parameters and will call the corresponding BPEL process via SOAP. This scenario would be fine, but... this approach would imply a supplementary marshalling/unmarshalling process at the domain web service level. The data returned by the BPEL processes could be very large and in such a situation the Java based domain web service will introduce an important performance drawback.
    Is there any other solution to this case that will allow the using of a "proxy" domain web services that will not introduce any important drawback via marshalling/unmarshalling?
    Many thanks in advance!
    Regards,
    Marinel

    Hello,
    First, thank you Sandor for your answer.
    I understand that it is possible to create a BPEL process that exposes multiple operations/messages. This would be exactly what I need: a single process (web service) that will expose many operations. Could anyone, please, point me to such an example?
    So far I thought that there is possible to have only one operation exposed with a BPEL process, what is delimited between the receive/reply blocks (in the synchronous case).
    Regards,
    Marinel

  • Submit PDF Data via SOAP

    Situation:
    Write a PDF out to a public share.
    Email the location reference to a user.
    Allow the person to add their data to the form.
    Allow the person to submit.
    I would like to submit the data to a workflow process.
    From what I have read, a lot of people indicate this is done by writing a web service that acts as a proxy to the actual workflow process. Is that really the best/easiest way?
    I know that LiveCycle exposes the WSDL for any workflow process that is written. Is there a way to call that directly without the proxy?
    I know you can set up a Data Connection on a form. Is that the best way?
    Can I simply but the end point of the LiveCycle SOAP endpoint in the "Submit To Url" field of a Submit button?
    Any words of wisdom?

    There are six different ways to initiate a workflow process. 3 are created automatically when the process is activated and 3 require you to build an endpoint.
    1. Automatic endpoint - Data Services - you could submit the data to a servlet or other such program and in turn have it call Data Services to start the process.
    2. Automatic endpoint - EJB interface - submit the data to a servlet and have it call the EJB interface to start the process.
    3. Automatic endpoint - Web Service interface - same as above but use the SOAP interface instead. You could also have the form call the SOAP interface directly but there will be some work required on the form to get the contents of the form to submit via SOAP.
    4. Endpoint requires config - Watched folder - you can save out the data to a shared network drive. That drive is monitored by Livecycle and your process is kicked off when a file is dropped into that folder.
    5. Endpoint requires config - Email endpoint - same as #4 except email is used and not a folder.
    6. Endpoint requires config - TaskManager endpoint - make use of workspace to have the user choose the process to start and the data is submitted to the process automatically.

  • How to receive acknowledgement from Vendor via SOAP adapter.

    Hello Experts, my outbound scenerio is R3>PI->Vendor via the URL given by vendor. From PI i'm sending my POs via SOAP adapter and in the conversion parameters I choose the check box "Do not Use SOAP Envelope" My message reached the vendor. Now vendor sends back a functional acknowledgement indicating the message had been received and processed. Below is the entire XML file content.
    <MessageAcknowledgment>
        <AckLocation>Medical</AckLocation>
        <AckRefNum>98712345</AckRefNum>
        <AckNote>200-Accepted</AckNote>
    </MessageAcknowledgment>
    Can anyone let me know how to receive the above message? What setup do i need to do?
    Thanks,
    Edited by: XISearch on Jan 10, 2011 3:05 PM

    >>> Can anyone let me know how to receive the above message? What setup do i need to do?
    Solution: You need to create a synchronous scenario.
    Might be at R3 side proxy  sender  and vendor side Reciever Soap
    Basically PROXY <------> SOAP
    Map the proxy request message to soap(vendor) request message  as REQUEST MAPPING
    and
    Map the SOAP (Vendor) response message to proxy response as RESPONSE MAPPING
    and in the backend parse the response.
    If you need more details, Please let us know.

  • Unable to start process via GP API in which group is exposed as input

    Hi,
         I am not been able to start process using GP API for the particular senario.
    I created Process at design time.
    In this process I mapped parameters to a group and exposed this group, So that input is required for initiating the process.
    Now I want to initiate this process via GP API.
    I got sucess in starting processes which takes parameters as inputs or which does not need any inputs, but i was not been able to start process where group is exposed.
    it's giving me GP INVOCATION Exception.
    Please Help ASAP
    Regards,
    Pratik

    Pratik,
    I try to simulate with scenario described by you and I got success with my test.
    Follow my java code:
         public boolean initiateProcessSDN () {
              boolean ret = false;
              try {
                   IUser user = UMFactory.getUserFactory().getUserByLogonID("uces");
                   IGPUserContext userContext = GPContextFactory.getContextManager().createUserContext(user);
                   IGPProcess processTemplate
                        = GPProcessFactory.getDesigntimeManager().getActiveTemplate(
                                  "8DC0B411957D11DDB7910017F2EBE4A5", userContext);
                   IGPRuntimeManager rtm = GPProcessFactory.getRuntimeManager();
                   IGPStructure params     = GPStructureFactory.getStructure(processTemplate.getInputParameters());
                   params.setAttributeValue("NameGroup", "Pedro");
                   params.setAttributeValue("AddressGroup", "XPTO");
                   IGPProcessRoleInstanceList roles = rtm.createProcessRoleInstanceList();
                   IGPProcessInstance prInstance
                        = rtm.startProcess(     processTemplate,
                                            "Test 1",
                                            "Test 2",
                                            user,
                                            roles,
                                            params,
                                            user);
                   ret = true;
                   } catch (Exception ex) {
                        ret = false;
              return ret;
    Print screen about my GP design:
    Callable Object with 4 parameters
    http://img530.imageshack.us/img530/16/sdngpgroup001bt5.jpg
    Action grouping CO parameters into 2 groups
    http://img147.imageshack.us/img147/2006/sdngpgroup002xy3.jpg
    Process reflecting these groups as input parameters
    http://img147.imageshack.us/img147/9184/sdngpgroup003pp0.jpg
    Process started by java code above
    http://img530.imageshack.us/img530/8833/sdngpgroup004no4.jpg
    Best Regards,
    Pedro Nunes

  • Anonymous authentication requests via SOAP Sender adapter?

    Hi,
    Can someone please tell me whether it is possible to call the SOAP Sender adapter anonymously?
    We can set user credentials for the receiver system adapter but looking at the options in the SOAP Sender communication channel I can't see how it is possible to send messages though SAP PI without a user who has authorisations to process messages.
    Any advice greatly appreciated.
    Thanks,
    Alan

    can't see how it is possible to send messages though SAP PI without a user who has authorisations to process messages.
    The source system needs to use a user-id to send message to XI/ PI via SOAP.
    If you do not want to use any authorization there is a way to switch off the authentication for the entire SOAP adapter (i.e. for all the SOAP scenarios)....not advisable.
    This method was actually described in a discussion ages back
    Regards,
    Abhishek.

  • Error_: ACS10002: An error occurred while processing the SOAP body

    Hi all,
    We have problem to connect MSCRM online via SDK since yesterday.   All of our MSCRM Online organizations have this issue.  Anyone has the same issue?  
    Error : ACS10002: An error occurred while processing the SOAP body. ACS50000: There was an error issuing a token. ACS50005: Token encryption is required but no encrypting certificate is configured for the relying party.
    Gary

    This is a server side webcache from the OTN site. Not anything client-related. Its a bug that cannot be fixed at this time as OTN is on an EOL version of software. The good news is that most of OTN is moving to a new CMS on the 19th and these errors will disappear.
    In the meantime, if you add a parameter refresh to the URL you get the error on, most of the time, you can get the page back. Parameter refresh is done by adding ?a=b to the end of the URL. You can keep changing the combo too. (i.e. ?c=d)

  • How to start a process via web service with automatically run first screen

    Hi guys,
    we want to start the process via web service and skip the inbox presentation of the first human activity of the process. It means that the first activity should start automatically by clicking the link (wsdl link).
    Is there any opportunity to realize this thought?
    THX
    Regrads
    Phil

    Hi Phil,
    You may refer to my blog series for steop by step procedure on how to initiate a BPM workflow through webservice. Below are the links:
    /people/arafat.farooqui/blog/2009/08/13/introduction-to-sap-netweaver-bpm-part-4
    /people/arafat.farooqui/blog/2010/06/23/introduction-to-sap-netweaver-bpm-part-5
    Hope this helps!!
    Regards,
    Arafat

  • XML via SOAP

    Hi Experts,
    My Secnario is 
    IDOC -- XI --- SOAP.
    Actaully i have to convert incoming IDOC into Flat file in XI and send this attachment via SOAP attachment.
    Is it possible?
    Thanks
    Subbu

    Hi
    if u want to craete the file for an IDoc then u have to collect the idoc a file and that file u can use as an attachemnt.
    to collect idoc in a file u have to do the following settings.
    1.Use transaction WE21 and create an file port in the R/3 system. Apply here function module for creating the file name. You can use a standard module to do the same.
    2.Using  WE20 to create the partner profile and  assign the outbound IDOC message  type to a partner profile in the outbound parameters.. This partner will be the R/3 server itself since the ile will be uploaded on the R/3 Server . For this message type give the filet created in the above step as the receiver port and select the option collect IDOCs as output mode. Give the basic IDOC type the idoc u r triggering.
    3. use transaction BD16 to trigger the IDoc
    4.Use the transaction BD87 to process the IDoc, the file port and the number of IDocs which shall be collected
    6.Using transaction SXDA_TOOLS download the XML message stored on the R/3 server and upload the same into the XI server.
    Thanks
    Rinku

  • Connection from DP to SAP PI 7.11 via SOAP/https failed

    Hello Guys,
    we have a problem with connection from DP to SAP PI via SOAP/https.
    DP send a request and get a timeout. timeout is 2 or 3 minutes.
    DP and SAP PI authentificated with certificates.
    Our Problems:
    DP get now failure code
    in commnication channel monitoring in RWB from SAP PI I see no entry, no error
    in java default trace I see no error.
    What could be the Problem? What must we configure for https communication via SOAP Adapter?
    Which Log get me some information?
    Thanks and regards
    Martin

    Hi Neetesh,
    I have check all, but it resolved not my problem.
    I will describe my scenario again:
    scenario:
    syncronous request from system A over DataPower ->SAP PI to SAP system.
    communication DataPower to PI: SOAP over https
    DataPower located in other network zone.
    port is activated in firewall.
    called URL from DataPower:
    https://<host>:5<instance number>01/XISOAPAdapter/MessageServlet?
    channel=:<business system>:<interface>
    Problem:
    authentication looks like ok. No error in ICM Trace, in default java
    trace login from DataPower IP-adress ok.
    but no message is to see in the communication channel.
    no message in the adapter engine, no message in the integration engine
    DataPower get a timeout. (Timeout 2  minutes)
    we find no error, but also no message
    What could be the error? And where find I some information in SAP PI.
    Thanks and regards
    Martin

  • Error while invoking the ABAP Proxy via SOAP Adapter

    Hi,
    My scenario involves SOAP Client invoking a webservice hosted in PI which in turn invokes the ABAP Proxy asyncronously.
    SOAP Client -> PI -> ECC (ABAP Proxy) . This works fine.
    Next , I have exposed the ECC Service Interface as webservice using SOA Manager transaction. Now, once the service is created using SOAManager, i replaced the XI Adapter with SOAP Adapter and provided the target URL as the URL provided by the SOAManager.
    SOAP Client -> PI -> ECC (ABAP Proxy via SOAP Adapter)
    With this approach, i am encountering the below error message
    2009-05-29 12:17:55 Error Adapter Framework caught exception: null
    2009-05-29 12:17:55 Error Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException.
    Any ideas on the above errror message? Any pointers or inputs will be appreciated.
    Thanks,
    Vinayak Kamath

    > 2009-05-29 12:17:55 Error Adapter Framework caught exception: null
    > 2009-05-29 12:17:55 Error Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException.
    This is a generic error message which does not have any information about the error which has occurred.
    Do you see any error messages in the SOAP client?
    Regards
    Stefan

  • User is getting email delivery failure when processing via SAP as it tries to send an email to a user who have left the company

    Hi Experts,
    I need to remove a name on a group list in Outlook as the user is getting email delivery failure when processing via SAP (He sends the invoice for approval and emails get sent to different users for approval.) One of those users has left the company and so the user gets a email delivery failure error.
    How do I remove this user who is no longer with the company?
    The user is saying: When I approve an invoice in SAP it sends an email notification through outlook. One of those users is no longer with the company so it cannot deliver the notification, and in return send a delivery failure (in outlook). I am approving the invoices from my SAP Workplace inbox.
    How do we know what group the email is going to?
    Please let me know if you have seen this issue before. Greatly appreciate your help.
    Thanks,
    Asad

    Hi,
    Please check whether you are using a custom z program for sending emails of approved invoices to users. If yes then either the user email ids are hardcoded in the program else a ztable is maintained for them.

  • Authorization Error  While  Invoking BPEL Process Via RMI

    Hi All,
    I have been trying to invoke BPEL Process via RMI client.
    I use the following piece of code for BPEL Process Invocation...
    public class RMIClient {
    public RMIClient() {
    public static void main(String[] args){
    Hashtable jndi = new Hashtable ();
    jndi.put (Context.PROVIDER_URL, "opmn:ormi://host:6010:oc4j_soa/orabpel");
    jndi.put (Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    jndi.put (Context.SECURITY_PRINCIPAL,"oc4jadmin"); // username of Bpel Manager
    jndi.put (Context.SECURITY_CREDENTIALS,"welcome1"); //password of BPEL Manager
    Locator locator=null;
    try {
    locator = new Locator("default",jndi);
    } catch (ServerException e) {
    e.printStackTrace();
    IDeliveryService deliveryService =
    (IDeliveryService)locator.lookupService
    (IDeliveryService.SERVICE_NAME );
    // construct the normalized message and send to oracle bpel process
    NormalizedMessage nm = new NormalizedMessage( );
    String xml = "<ns1:MyFirstBPELProjectProcessRequest xmlns:ns1=\"http://xmlns.oracle.com/MyFirstBPELProject\">\n" +
    " <ns1:input></ns1:input>\n" +
    " </ns1:MyFirstBPELProjectProcessRequest>";
    nm.addPart("payload", xml );
    NormalizedMessage res=null;
    try {
    res = deliveryService.request("MyFirstBPELProject", "process", nm);
    } catch (ServerException e) {
    e.printStackTrace();
    } catch (RemoteException e) {
    e.printStackTrace();
    Map payload = res.getPayload();
    When I try to connect to my locally deployed BPEL process Manager and Invoke the same process (MyFirstBPELProjectProcess ) it works fine and creates an Instance on BPEL Process Manager Console.
    When I tried Invoking the same BPEL process (MyFirstBPELProjectProcess ) deployed on a Remote machine ,it doesnt create an Instance.
    I believe my connections settings are all correct ,since it doesnt give me an connection issue on my standalone client.
    I tried looking at the following file default_group~oc4j_soa~default_group~1.log available opmn folder under SOA Suite OAS and there
    are no errors.
    Could some body point the log files that I need to look at.
    I am sort of clueless...
    Regards
    Harish

    CAn you post the error. HAve you made sure that the remote machine has connection on the port 6010. You can test this with the folloing command from the remote machine
    telnet host 6010
    obviously replace host with the fully qualified host name of the SOA machine.
    cheers
    James

  • Invoking a BPEL Process via Java Remote Client

    Hi everyone!
    I want to invoke a BPEL process from my Java Application which is not running on the same Application-Server (not the same Java RE) as the BPEL processmanager does.
    For Applications running on the same AS there is the IDeliveryService class to which you can send a XML-request in order to invoke a BPEL process.
    Is the only way to invoke a BPEL Process from an external application to use a webservice client or is there a similar class for java remote clients?
    For access to the users worklist I use
    IWorkflowServiceClient wfClient = WorkflowServiceClientFactory.getWorkflowServiceClient(WorkflowServiceClientFactory.REMOTE_CLIENT);
    it works fine an I thought there might be a similar way to invoke a bpel process via remote too.
    If anyone knows if it's possible or not please tell me ;)
    Thanks in advance
    Markus

    Hello,
    Here is the code I use:
    Properties props = new Properties();
    Locator locator = null;
    props.put("orabpel.platform", "ias_10g" );
    props.put("java.naming.factory.initial","com.evermind.server.rmi.RMIInitialContextFactory" );
    props.put("java.naming.provider.url","opmn:ormi://host:port/orabpel" );
    props.put("java.naming.security.principal", "adminuser" );
    props.put("java.naming.security.credentials", "mdp" );
    String securityCredentials = "adminuser";
    String selectedDomain = "default";
    locator = new Locator(selectedDomain,securityCredentials,props);
    IBPELProcessHandle procs[] = locator.listProcesses();
    The error is:
    Exception in thread "main" java.rmi.UnmarshalException: Error deserializing return-value: java.io.InvalidClassException: com.oracle.bpel.client.BPELProcessHandle; local class incompatible: stream classdesc serialVersionUID = 5429682712928177644, local class serialVersionUID = 8176841433835717563
    at com.oracle.bpel.client.util.ExceptionUtils.handleServerException(ExceptionUtils.java:82)
    at com.oracle.bpel.client.Locator.listProcesses(Locator.java:309)
    Thanks for help.
    Edited by: 857737 on 14 sept. 2012 10:00

Maybe you are looking for