Asynchronous messaging using SOAP

Hi,
Does anybody have experiences using SOAP for asynchronous communications
like notifications. Is there any way to integrate SOAP with JMS. I would
appreciate any thoughts / feedback on this.
Thanks
Chandra.

Sorry, I know this is not an answer to your question. I fooled around with JAXM for a while and gave up when I realized it was getting me nowhere. The more I investigated ebXML the more frustrated I became with JAXM.
I've posted this several times before, but JAXM is absolutely the wrong solution for implementing ebXML. The protocols are in conflict with each other. Sybase provides a true ebXML server and has an outdated, but good, open source toolkit. In addition, Sun has a "technology preview" for what looks to be a server that fully supports ebXML. See http://lists.ebxml.org/archives/ebxml-dev/200210/msg00015.html.
JAXM only supports parts of the ebXML Message Handling piece. It does not allow the client to dictate whether the conversation is synchronous or asynchronous as ebXML does. JAXM doesn't support using CPA's. In short, you can create messages with JAXM that look like ebXML but aren't.

Similar Messages

  • Asynchronous Messages (using JMS) improves performance even when the desire

    I am being told that even when point A to point B communication,
    originating at point A, is synchronous, send a message to B wait for B
    to finish processing and send a tagged(to corelate the response to the
    request) message back asynchronously via another Q will improve the
    response time and scalability during peak volume vis-a-vis a
    synchronous API call between A and B. A being a servlet B being an
    application server hosted on a container. Keep in mind that this
    application cannot live with the fact that there is a possibility that
    the response may never come back (timeout). The expected response time
    during average load is <2sec. Peak load 110 transactions per second.
    Response time of 5 secs during peak load is unacceptable. Clustering is
    certainly a consideration. Any opinion, pointers, etc. is welcome.
    Have a wonderful weekend!!

    Hi,
    I personally think that you should go for an asynchronous solution as that�s what JMS is all about. You can obviously use a Requestor and go for a RPC style solution but there are overheads:
    1) Your messages cannot be concurrently processed
    2) A temporary destination (to collect the response) is created per request
    3) There is a delay between each message processing event
    The number of app server instances that you would need is really application dependant and app server as well. But according to my experience, and assuming that your message process is simple, I would say that less than 2s delay is easily achievable.
    By the way, have you considered using a light weight app server like an MDS container? For more info you can have a look at: http://www.arjuna.com/products/arjunams/tutorials/mds/index.html
    Hope this helps
    Arnaud
    www.arjuna.com

  • Exception while posting a message using SOAP adapter

    Hi
    We are getting the following message while posting a SOAP request through SOAP adapter through Http Client. The error message is
    <SAP:Error>
    <SAP:Category>XIAdapterFramework</SAP:Category>
    <SAP:Code>MESSAGE.GENERAL</SAP:Code>
    <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: invalid content type for SOAP: TEXT/HTML</SAP:AdditionalText>
    </SAP:Error>
    Please help in this regard.
    Regards
    Ramesh

    Dear Gopal,
             I am trying from HTTP->WEB SERvice (R/3 system)
    I have created a webservice from RFC.
    Receiver Adapter type : SOAP
    USer authentification provided
    URL provided. i picked from wsdl file
    i am getting this error
    com.sap.aii.af.ra.ms.api.DeliveryException : invalid content text/html.
    I hope u trouble shooted this kind of error.
    can u provide me some clues.
    regards
    chandra
    Message was edited by:
            chandra shekar dasari

  • Using alsb for asynchronous messaging

    hello @ all,
    I like to implement a kind of asynchronous messaging.
    It is only possible with the Routing mechanism (see http://e-docs.bea.com/alsb/docs21/consolehelp/proxyactions.html).
    But the Client can not perform other works while the server prepares it response.
    The question is: How can I use asynchronous messaging, when a client send a request and can continue performing other work while the server prepares it response and the server can notify the client when the response is ready?
    The white paper from BEA (http://dev2dev.bea.com/2006/04/AL_Service_Bus_wp.pdf) and other documentation from BEA promise this kind of messaging style.
    I use only http for transform Messages. Accordingly I like to accomplish SOAP communications over http for asynchronous requirements.
    Can anybody help me to accomplish any scenario with the Aqualogic Service Bus in an asynchronously way?
    thanks a lot
    Fabio

    Asynchronous messaging using HTTP is possible.
    Please follow the below link for documentation
    http://e-docs.bea.com/wls/docs91/webserv/advanced.html

  • SOAP Messaging Using Crystal Reports Web Services To Return Report in PDF or Excel Format

    All,
    I am trying to use SOAP messaging to fetch a Crystal Report through a Managed repository and getting back either a PDF or Excel file. For some reason, any reference to web services on this site I cannot access. Like thread, "Using Web Services on the Crystal Report Server XI to return reports".  Can anyone point in a direction to Web Service Calls API documentation or does this not exist ?????? I would hope this product has this capability.
    Thanks In Advance,
    Tom

    XI Release 2 Service Pack 2 introduced the Business Process BI Web Services, that allow you to retrieve reports using SOAP messaging.
    It's documented here:
    http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/WS_SDK/wssdk_portal/doc/wssdk_bpbi_doc.pdf
    Sincerely,
    Ted Ueda

  • Time of callback: Asynchronously receiving messages using a listener class

    I was developing a small JMS client that registers a message listener for receiving text messages from a JMS provider. The program is single threaded.
    I wanted to know when exactly the "onMessage" method is invoked for processing received messages. My client could be performing other processing tasks after registering the listener. In such a scenario, on arrival of a message, when does the program flow jump to the onMessage method? Is it as soon as a message arrives (in which case, the client could be abruptly interuptted in the midst of some processing/system call) ? If so, does the execution return to the exact point of interuption after the onMessage method returns? Or does the java runtime environment implicitly spawn a thread for processing the message?
    If the answer to my questions is the former, then does it mean that such clients are best written as multi threaded programs??
    Any pointers on this aspect would be greatly appreciated....

    Hi,
    Even if the JMS specification says that a session is single threaded, asynchronous messages are processed within their own thread. As a programmer (a JMS API user) you don�t have to worry about implementation details. The only thing you have to know is that:
    1) Your JMS server pushes messages to your asynchronous listeners upon availability
    2) Asynchronous messages are sequentially processed on the session level (concurrency is achieved by using several sessions)
    3) Using ExceptionListener allows a client application to be asynchronously notified of a problem (this is useful to do some cleaning or reconnection operations)
    I hope this helps
    Arnaud
    www.arjuna.com

  • Reliable messaging between XI and BizTalk using SOAP

    I came across this document describing how reliable messaging between XI and BTS can be implemented using the SOAP extensions. This document has been authored by
    - André Fischer, Project Manager CTSC, SAP AG
    - Matthias Allgaier, Consultant XI, SAP Deutschland AG & Co.
    - KG Jürgen Daiberl, SAP Program Manager CTSC, Microsoft Corporation
    Does anyone know if the prototype code is available for download from SDN or elsewhere? A search on SDN did not produce any results...
    Thanks.
    - KishenM

    Larry,
    Let me see if I understood this - You need to use the SOAP adapter to integrate with BizLink. Bizlink Provides its own SOAP Header and hence you are not sure how to do this.
    Got a few questions,
    1. Has Bizlink given you a XSD / WSDL. Does this have the entire SOAP Payload including the SOAP Header and SOAP body? If yes, create the mapping as needed and instead of the SOAP adapter use the HTTP adapter or use the SOAP adapter and in the SOAP adapter select option Do Not Use SOAP Envelope.
    2. If you do not have a XSD that contains the entire SOAP Enevelope - SOAP header and body then use XSL or Java Mapping that creates this output structure and use the SOAP adapter with the DoNotuseSOAP Envelope option or the HTTP adapter.
    The SOAP adapter in the DONotUseSOAP Emvelope mode basically becomes a http adapter.
    Regards
    Bhavesh

  • Could not access SOAP header - sending sopa message using weblogic

    i am using saaj to send a SOAP message ,through weblogic, i am getting an error like below
    Could not access SOAP header
    what should i do for sending a soap message using weblogic

    You're going to have to provide many more details than that. If it's useful, you could go here and read all the documentation books covering web services.

  • How to access SOAP header without using SOAP message handler

    I have a requirement to retrieve SOAP header information within each web services operation. So I can't use SOAP message handler. Is there any way to do that? BTW, I am not using workshop.
    Thanks.

    Howeve how can I put data into soap header in UDF? DynamicConfiguration won't work for soap header, right?
    Which data do you want ot put into the Header section.
    ASMA or Dynamic Configuration is used to read/ put the details from/ into the header elements.....
    Refer: http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/frameset.htm
    From the help section:
    This information is not located in the payload of the message, but in additional message header fields.
    Regards,
    Abhishek.

  • Is in PI7.1 possible asynchronous communication between SOAP and ABAPProxy?

    Hi,
    when method execute_asynchronous has disapeared since XI/PI 7.1, is
    there still way how to use ABAP proxy in asynchronous way?
    We need to build asynchronous connection SOAP->PI->ABAP_Proxy.
    In PI, both interfaces are defined as asynchronous (outbound for SOAP and
    inbound for ABAP Proxy).
    Despite of this fact, when message is sent, it is processed
    synchronous way.
    I have set breakpoint in my implementation of method for ABAP Proxy
    message processing. When message is sent and breakpoint is reached,
    whole connection stays open (between SOAP and PI and between PI and
    ABAP Proxy) and waits for processing method (the breakpointed one) to
    return. Only when processing method returns, is connection finelly
    closed.
    If i understand it correctly, this is synchronous behavior. In
    asynchronous behavior, as i understand it, should be connection
    between PI and ABAP Proxy of application server closed immediately
    after message has been delivered. This mean before my processing
    method is even called.
    The same could be said about SOAP and PI communication. Connection
    should be closed immediately after PI has received message. From
    definition of asynchronous communication of PI is obvious, that PI
    should receive message correctly and close connection to sender system
    even when receiver is unreachable. It should deliver message later
    when, receiver system is back on line. So why it keeps connection to
    sender system open while it waits for receiver?
    Why is this happening, when both interfaces are defined as
    asynchronous? Could be the reason for this, if APPLICATION
    ACKNOWLEDGEMENT is set on by default? If so, how can i change it
    to SYSTEM ACKNOWLEDGEMENT, or disable it at all?
    Or is this kind of asynchronous communication even possible since
    XI/PI 7.1 ?
    Processing of message we are sending can take some time, so we dont
    want connection pending open while waiting for finish of
    processing. Thats the reason why we have chose asynchronous model to
    use.

    Quote from How to Use the J2EE SOAP Adapter:
    "If you select Best Effort, the Web service client will receive a response
    message in the SOAP body. Otherwise, the Web service client will not receive a
    response message if no error occurs."
    "if no error occurs" - that is the problem. In either case he still
    waits if some error occure or not. I dont want it. Once PI has
    received message, I want the connection with sender to be closed. If
    there will be error in communication between PI and reciever, I want
    to see it only in PI log. That mean no notification to sender to be
    send about that error.
    Is that possible?

  • File adapter sends return message to SOAP adapter

    Hi,
    I have managed to send a message using a SOAP sender adapter to a file using the file adapter. The respective message is written to a file. Though both adapters are configured to work in an asynchronous way, the file adapter seems to try to return as message. This results in an error message: "Das Interface-Mapping ... ist nicht im Laufzeit-Cache vorhanden". I have updated and checked the runtime cache. The respective mapping program is available and working, since the file adapter writes the send date to the file. So why this message?
    Kind regards,
    Heiko

    The file adapter replies the sent message, when it is addressed in sync mode.
    Set in the SOAP sender channel the Quality-of-Service to Exactly-Once to avoid this behavior.
    Regards
    Stefan

  • Asynchronous call with soap adapter?

    Hi All
    I Scenario status update in CRm using Webservice using SOAP adapetr. when i am testing in ALTOVA SPy when i send response it successfully updates status , it also send back message
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Header/>
       <SOAP:Body/>
    </SOAP:Envelope>
    But my interface is Asynchronus, My communication channel Quality of service is set to : Exactly once .
    when i am creating webservice i using following url
    http://xx.xx.xxx.xx:port/XISOAPAdapter/MessageServlet?channel=:service:sendercommunication channle &ProcessingMode=Asynchronous&QualityOfService= Exactly Once
    How can i avoid response back.
    Thanks
    Babu
    Edited by: babloo babu on Dec 16, 2009 2:03 PM

    Hi Babu,
    That is the problem with AltovaXMLSPY, it always expect a resonse..and if don't get one it will shown empty headers..
    check moni and see if you have only one entry then your scenario is working and it is working in async mode
    Regards
    Suraj

  • Receive asynchronous message from JMS  topic over web service

    Hi,
    I have a JMS topic and I want to expose it as a web service so that clients can
    make durable subcription to the topic and receive messages asynchronously. What
    is the best way of doing this ? Is there a portable (to other containers) way
    of do this ? If not, is there a web logic specific way of doing this ?
    Thanks,
    Siva

    So you expect clients to be receiving SOAP messages over HTTP? In this
    case, the clients are really servers that are capable of servicing SOAP
    requests, correct? And how about the senders: are they also using
    SOAP/HTTP to send messages that are delivered to the receivers?
    It should be possible to write this yourself using JMS not as the
    transport, but as a mechanism for distributing the message to a set of
    clients. You'll need to implement a Web Service for publishing to a
    topic, an operation for registering an end point to recieve messages,
    and an MDB (or other form of JMS subscriber) executing on the server to
    relay the message to the end point.
    Siva wrote:
    Hi,
    I have a JMS topic and I want to expose it as a web service so that clients can
    make durable subcription to the topic and receive messages asynchronously. What
    is the best way of doing this ? Is there a portable (to other containers) way
    of do this ? If not, is there a web logic specific way of doing this ?
    Thanks,
    Siva

  • PHP using soap to call EJB

    Hello everybody,
    I've a problem to call a EJB form a PHP script.
    There is a Apache with PHP 5.2.0 and a SAP NetWeaver Application Server 7.10 / AS Java 7.10 running on the system.
    I wanted to use soap to call a method in an EJB. It's only a test EJB:
    [code]
    package beans;
    import javax.ejb.Stateless;
    import javax.jws.WebService;
    import javax.jws.WebMethod;
    @WebService(name="HelloWorldEARBean",serviceName="HelloWorldEARBeanService",targetNamespace="http://beans/",portName="HelloWorldEARBeanPort") @Stateless public class HelloWorldEARBean {
      @WebMethod public String sayHello(String testStr){
                return "Hello Mr. "+testStr;
      @WebMethod public String getReturn(String inputStr){
                return "the return value is"+inputStr;
    [/code]
    I tried it with the PEAR SOAP in the following script:
    [code]
    <?php
    require_once 'SOAP/Client.php';
    $wsdl_url     = 'http://localhost:50000/HelloWorldEARBeanService/HelloWorldEARBean?wsdl';
    $WSDL = new SOAP_WSDL($wsdl_url);
    $client = $WSDL->getProxy();
    $client->__trace(1);
    $options=array('namespace' => 'http://beans/',
      'style' => 'rpc',
      'soapaction' => 'sayHello');
    $NAME = "Bob"; 
    $parameters=array(
         'parameters', $NAME
    $result = $client->getReturn($parameters);
    echo "<pre>";
    print_r($params);
    echo "</pre>";
    echo "<h2>return</h2>";
    echo "<pre>";
    print_r($result);
    echo "</pre>";
    echo '<h2>Request</h2>';
    echo '<pre>' . htmlspecialchars($client->__getlastrequest(), ENT_QUOTES) . '</pre>';
    echo '<h2>Response</h2>';
    echo '<pre>' . htmlspecialchars($client->__getlastresponse(), ENT_QUOTES). '</pre>';
    ?>
    [/code]
    The AS distributes the following WSDL:
    [code]
    - <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://beans/" xmlns:tns="http://beans/">
    - <wsdl:types>
    - <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://beans/">
      <xs:element name="getReturn" type="tns:getReturn" />
      <xs:element name="getReturnResponse" type="tns:getReturnResponse" />
      <xs:element name="sayHello" type="tns:sayHello" />
      <xs:element name="sayHelloResponse" type="tns:sayHelloResponse" />
    - <xs:complexType name="sayHello">
    - <xs:sequence>
      <xs:element name="arg0" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="sayHelloResponse">
    - <xs:sequence>
      <xs:element name="return" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="getReturn">
    - <xs:sequence>
      <xs:element name="arg0" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="getReturnResponse">
    - <xs:sequence>
      <xs:element name="return" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
      </xs:schema>
      </wsdl:types>
    - <wsdl:message name="sayHelloIn">
      <wsdl:part name="parameters" element="tns:sayHello" />
      </wsdl:message>
    - <wsdl:message name="sayHelloOut">
      <wsdl:part name="sayHelloResponse" element="tns:sayHelloResponse" />
      </wsdl:message>
    - <wsdl:message name="getReturnIn">
      <wsdl:part name="parameters" element="tns:getReturn" />
      </wsdl:message>
    - <wsdl:message name="getReturnOut">
      <wsdl:part name="getReturnResponse" element="tns:getReturnResponse" />
      </wsdl:message>
    - <wsdl:portType name="HelloWorldEARBean">
    - <wsdl:operation name="sayHello" parameterOrder="parameters">
      <wsdl:input message="tns:sayHelloIn" />
      <wsdl:output message="tns:sayHelloOut" />
      </wsdl:operation>
    - <wsdl:operation name="getReturn" parameterOrder="parameters">
      <wsdl:input message="tns:getReturnIn" />
      <wsdl:output message="tns:getReturnOut" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="HelloWorldEARBeanBinding" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" type="tns:HelloWorldEARBean">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="sayHello">
      <soap:operation soapAction="" />
    - <wsdl:input>
      <soap:body parts="parameters" use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
    - <wsdl:operation name="getReturn">
      <soap:operation soapAction="" />
    - <wsdl:input>
      <soap:body parts="parameters" use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="HelloWorldEARBeanService">
    - <wsdl:port name="HelloWorldEARBeanPort" binding="tns:HelloWorldEARBeanBinding">
      <soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://localhost:50000/HelloWorldEARBeanService/HelloWorldEARBean" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>
    [/code]
    By the following output it's obvious that the AS or the EJB (webservice) doesn't receive the parameter send by the PHP script. Look at the output:
    return value:
    the return value is null
    [code]
    Request:
    POST /HelloWorldEARBeanService/HelloWorldEARBean HTTP/1.0
    User-Agent: PEAR-SOAP 0.8.0RC4-devel
    Host: localhost
    Content-Type: text/xml; charset=UTF-8
    Content-Length: 438
    SOAPAction: ""
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    >
    <SOAP-ENV:Body>
    <getReturn xmlns="http://beans/">
    <item>parameters</item>
    <item>Bob</item></getReturn>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Response:
    HTTP/1.1 200 OK
    server: SAP NetWeaver Application Server 7.10 / AS Java 7.10
    content-type: text/xml; charset=utf-8
    date: Wed, 14 Feb 2007 15:51:53 GMT
    connection: close
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsu:Created>2007-02-14T15:51:53Z</wsu:Created>
    <wsu:Expires>2007-02-14T15:52:23Z</wsu:Expires></wsu:Timestamp></wsse:Security></SOAP-ENV:Header>
    <SOAP-ENV:Body><ns2:getReturnResponse xmlns:ns2='http://beans/'>
    <return>the return value is null</return></ns2:getReturnResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
    [/code]
    I used different soap interfaces for PHP like nusoap and the integrated soap interface of PHP 5.
    Further I experimented with different parameters inside the function call
    that results in small differencies at the xml-request.
    Thanks.

    Hi
    I've solved the problem now. I just have to add
    @SOAPBinding(style=SOAPBinding.Style.RPC)
    in the EJB, that's all.
    Here is the complete code, ... maybe some other guys have this problem too, so I will post the working code:
    At first the EJB:
    package beans;
    import javax.ejb.Stateless;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    import javax.jws.WebMethod;
    import javax.jws.soap.SOAPBinding;
    import beans.HelloWorldEARBean;
    @WebService(name="HelloWorldEARBean",serviceName="HelloWorldEARBeanService",targetNamespace="http://beans/",portName="HelloWorldEARBeanPort")
    @SOAPBinding(style=SOAPBinding.Style.RPC)
    @Stateless public class HelloWorldEARBean {
         @WebMethod public String sayHello(@WebParam(name="testStr") String testStr){
                return "Hello Mr. "+testStr;
    2. the local XML:
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://beans/" xmlns:tns="http://beans/">
      <wsdl:types>
        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://beans/">
          <xs:element name="sayHello" type="tns:sayHello"/>
          <xs:element name="sayHelloResponse" type="tns:sayHelloResponse"/>
          <xs:complexType name="sayHello">
              <xs:element name="testStr" type="xs:string" minOccurs="0"/>
          </xs:complexType>
          <xs:complexType name="sayHelloResponse">
              <xs:element name="return" type="xs:string" minOccurs="0"/>
          </xs:complexType>
        </xs:schema>
      </wsdl:types>
      <wsdl:message name="sayHelloIn">
        <wsdl:part name="parameters" element="tns:sayHello"/>
      </wsdl:message>
      <wsdl:message name="sayHelloOut">
        <wsdl:part name="sayHelloResponse" element="tns:sayHelloResponse"/>
      </wsdl:message>
      <wsdl:portType name="HelloWorldEARBean">
        <wsdl:operation name="sayHello" parameterOrder="parameters">
          <wsdl:input message="tns:sayHelloIn"/>
          <wsdl:output message="tns:sayHelloOut"/>
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="HelloWorldEARBeanBinding" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" type="tns:HelloWorldEARBean">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="sayHello">
          <soap:operation soapAction=""/>
          <wsdl:input>
            <soap:body parts="parameters" use="literal"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="HelloWorldEARBeanService">
        <wsdl:port name="HelloWorldEARBeanPort" binding="tns:HelloWorldEARBeanBinding">
          <soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://localhost:50000/HelloWorldEARBeanService/HelloWorldEARBean"/>
        </wsdl:port>
      </wsdl:service>
    </wsdl:definitions>
    3. the PHP script:
    see next post
    Thank you very much for your help.

  • Need Help: Not able to invoke fusion crm webservice using SOAP UI

    Hi,
    I am trying to invoke fusion crm webservice by using SOAP UI, but I am getting Invalid seccurity tocken exception.
    I have followed below steps specified in the oracle support document.
    In Soap UI, Go to File>Preferences ,select the "HTTP Settings' tab on the lower left panel, then select the checkbox 'Authenticate Preemtively'.
    2. From the wsdl extract the content from above wsdl between the tag/elements <dsig:X509Certificate> and </dsig:X509Certificate>
    3. Create a file called certificate.cer ( in local Drive) with above encrypted data enclosed between -----BEGIN CERTIFICATE-----   and -----END CERTIFICATE-----, file content shown below ( note: encrypted data 
        for example
        -----BEGIN CERTIFICATE-----
    MIICCzCCAXSgAwIBAgIETy
        -----END CERTIFICATE-----
    4. Identifiy the java.home of SOAP UI , navigation (Help – System Properties) ,example ( it may be something like D:\SOAP UI download\soapui-4.5.1\jre)
    5.  Find the location of cacert file in SOAP UI ( example D:\SOAP UI download\soapui-4.5.1\jre\lib\security\cacert)
    6. Use following keytool command to add the certificate file certificate.cer into keystore cacert , sample command given below for reference
       keytool -importcert -alias rcpt-key-alias -file "D:\certificate.cer" -keystore "D:\SOAP UI download\soapui-4.5.1\jre\lib\security\cacerts"
       at command prompt when prompted enter password as changeit
    7. Restart SOAP UI and create a new project with https version of WSDL of organizationService
    8. In SOAP UI ,  in Auth tab , provide the user name and password.
    9. Invoke the Webservice
    I have used following request XML in SOAP UI
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/sales/opptyMgmt/opportunities/opportunityService/types/" xmlns:opp="http://xmlns.oracle.com/apps/sales/opptyMgmt/opportunities/opportunityService/" xmlns:rev="http://xmlns.oracle.com/apps/sales/opptyMgmt/revenues/revenueService/" xmlns:not="http://xmlns.oracle.com/apps/crmCommon/notes/noteService" xmlns:not1="http://xmlns.oracle.com/apps/crmCommon/notes/flex/noteDff/" xmlns:rev1="http://xmlns.oracle.com/oracle/apps/sales/opptyMgmt/revenues/revenueService/" xmlns:act="http://xmlns.oracle.com/apps/crmCommon/activities/activitiesService/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:soap="soap" xmlns:ns1="http://xmlns.oracle.com/apps/fnd/soaprovider/plsql/fnd_user_pkg/">
       <soapenv:Header>
          <fmw-context xmlns="http://xmlns.oracle.com/fmw/context/1.0"/>
          <wsse:Security soap:mustUnderstand="1">
             <wsse:UsernameToken>
                <wsse:Username>userName</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password>
             </wsse:UsernameToken>
          </wsse:Security>
       </soapenv:Header>
       <soapenv:Body>
          <typ:createOpportunity>
             <typ:opportunity>
                <opp:BudgetedFlag>1</opp:BudgetedFlag>
             </typ:opportunity>
          </typ:createOpportunity>
       </soapenv:Body>
    </soapenv:Envelope>
    It would be great help if someone guide me on this...
    Thanks & Regards
    Samanta Mishra

    For reference here is an example of a SOAP envelope I commonly use with SOAP UI to "query" employee data from HCM:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/hcm/employment/core/workerService/types/" xmlns:typ1="http://xmlns.oracle.com/adf/svc/types/">
        <soapenv:Header>
            <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <wsse:UsernameToken wsu:Id="UsernameToken-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                    <wsse:Username>username</wsse:Username>
                    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
                    <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">jwCzGGijT90Wml6eZe4cxg==</wsse:Nonce>
                    <wsu:Created>2012-07-04T06:49:48.981Z</wsu:Created>
                </wsse:UsernameToken>
            </wsse:Security>
        </soapenv:Header>
        <soapenv:Body>
            <typ:findWorker>
                <typ:findCriteria>
                    <typ1:fetchStart>0</typ1:fetchStart>
                    <typ1:fetchSize>1</typ1:fetchSize>
                    <typ1:filter>
                        <typ1:conjunction>And</typ1:conjunction>
                        <typ1:group>
                            <typ1:conjunction>And</typ1:conjunction>
                            <typ1:upperCaseCompare>false</typ1:upperCaseCompare>
                            <typ1:item>
                                <typ1:conjunction>And</typ1:conjunction>
                                <typ1:upperCaseCompare>false</typ1:upperCaseCompare>
                                <typ1:attribute>PersonNumber</typ1:attribute>
                                <typ1:operator>=</typ1:operator>
                                <typ1:value>123456</typ1:value>
                            </typ1:item>
                        </typ1:group>
                    </typ1:filter>
                </typ:findCriteria>
                <typ:findControl>
                    <typ1:retrieveAllTranslations>false</typ1:retrieveAllTranslations>
                </typ:findControl>
            </typ:findWorker>
        </soapenv:Body>
    </soapenv:Envelope>
    This example works fine for our Fusion Applications Cloud test instance, without any SSL setup or setting credentials on the request properties as the target service supports policy without message protection.
    Based on the your steps your service has message protection policy, so the above will not work rather you need to do additional configuration. Please check the policy on your service to confirm how the call needs to be made. Here are few links and documents:
    "How to invoke Fusion Application TCA webservice from SOAP UI (Doc ID 1496071.1)"  documents how a service with message protection can be called from SOAP UI. Your steps seem identical so presumably they are based on this document.
    "Oracle Fusion Sales Cloud Web Services (Doc ID 1354841.1)" contains information about the CRM web services including examples on the certificate import and sample payloads.
    Please provide:
    The security policies defined on the service (check the wsdl)
    The exact error message the you get
    Jani Rautiainen
    Fusion Applications Developer Relations
    https://blogs.oracle.com/fadevrel/

Maybe you are looking for

  • Can I get my laptop to connect via HDMI to mini display with iMac midi2011

    I want to use as display my iMac( 27" midi 2011), connecting it with laptop HDMI port

  • File to IDOC - issue with partner profile

    I have done File to IDOC scenario and tested it end to end successfully. For same have done all require configuration setting in R/3 like defining logical System and partner profile. And it sends new IDOC successfully in R/3 with status code 50 (IDoc

  • Copy and paste text that contains 1/2

    '''ALL''' text from any Firefox webpage that contains the character "1/2"- when pasted into a word processing document (Appleworks v. 6.2.9, in this case) inserts MULTIPLE 1/2 spaces. All individual text characters are thus separated by two (2) 1/2 s

  • Really Laggy DVD Player

    Hi all. This isn't a super problem, but an annoying one. I love my MBP but every time it seems i want to insert a dvd i get the beachball spinning for about twenty seconds. then when it's playing, after a bit, even if i want to ffwd it has to "wake u

  • R3P- Project builder Network activity processing time

    Hi Gurus, I have created a Network activity (internal)for our equipment to be dispatched at CM21. I have input 250.0Hrs and the NWA scheduling date as follows: Cannot start before: 07/28/2010 Finish not later: 08/31/2010 the NWA work center has the o