How do I invoke a web service?

I'm new to web services... and I have to find a way to connect to the microsoft reporting services web service....
But well I don't know how to connect to a web services...
Can someone direct me to a java tutorial about invoking web services?
Please? =)
Thanks,
Renato Fontes

Enter the string without the quote, then try to switch to the XML view and add the quotes. This should be a workaround for simple values.
You should also be able to generate a java client from JDeveloper in a few clicks, using the Wizard. As you can generate the JUnit template for the proxy (or stub), it's usually faster to re-run your test.
If this does not work for you, can you post the WSDL so we can see if there is any reason it does not work for you.
All the best,
-Eric

Similar Messages

  • How can I invoke the web service manually in websphere?

    Hi
    I've developed a webservice application using Rational Application Developer (RAD). I deployed it in a websphere 6.1 application server, using the administration console to import the war file that I had previously exported with RAD.
    My webservice application is listed in the "Enterprise Applications" section of websphere's administration console as started.
    My question is: how can I invoke the web service manually? Is there some kind of websphere generated webpage that I can use to call it manually?
    I tried http://<server:port>/<contextroot> and http://<server:port>/<contextroot>/<servicename> in a webbrowser, but it doesn't work. Is it possible to invoke the web service manually, or do I need to develop a client?
    Thanks in advance
    Pedro

    Hi Bo Wang,
        Go to the Portal -> System Administration -> System Configuration
                               -> Portal Content folder
                               -> Open Visual Composer folder
        There you can see the Webservice Systems you have created through VC.
    You can delete the unwanted system here.
    Regards,
    Shemim

  • How to invoke a Web Service from PL/SQL with Complex Type as  input.

    Hello,
    I am trying to invoke a web service from PL/SQL using the UTL_DBWS package.
    The web service expects a complex type as input (defined below):
    <xs:complexType name="MsgType">
    <xs:sequence>
    <xs:element name="sender" type="xs:string"/>
    <xs:element name="messageId" type="xs:string"/>
    <xs:element name="messageType" type="xs:string"/>
    <xs:element name="dateSent" type="xs:date"/>
    </xs:sequence>
    </xs:complexType>
    How to construct input to this in PL/SQL Procedure?
    Has any body tried this before?
    An exmaple will be helpful.
    Thanks

    Dear,
    I have read your article, it is useful for me. But I cannot Apply to my case. Please kindly help me. Thank you.
    When running, the error occurs:
    1:39:31 Execution failed: ORA-20000: soapenv:Server.userException - org.xml.sax.SAXParseException: Attribute name &quot;password&quot; associated with an element type &quot;user&quot; must be followed by the &apos; = &apos; character.
    My webservice Url: http://abc.com.vn:81/axis/ABC_WS_TEST.jws?wsdl
    I make PL/SQL (similiar as your example)
    FUNCTION INVOKESENDMT
    RETURN VARCHAR2
    AS
    l_request soap_api.t_request;
    l_response soap_api.t_response;
    l_return VARCHAR2(32767);
    l_url VARCHAR2(32767);
    l_namespace VARCHAR2(32767);
    l_method VARCHAR2(32767);
    l_soap_action VARCHAR2(32767);
    l_result_name VARCHAR2(32767);
    p_zipcode VARCHAR2(160);
    BEGIN
    --p_zipcode:='''TEST'' ; ''TEST'';''84912187098'';''84912187098'';''0'';''8118'';''1'';''000001'';''ThuNghiem'';''''';
    p_zipcode:='TEST';
    -- Set proxy details if no direct net connection.
    --UTL_HTTP.set_proxy('myproxy:4480', NULL);
    --UTL_HTTP.set_persistent_conn_support(TRUE);
    -- Set proxy authentication if necessary.
    --soap_api.set_proxy_authentication(p_username => 'TEST',
    -- p_password => 'TEST');
    l_url := 'http://abc.com.vn:81/axis/ABC_WS_TEST.jws';
    l_namespace := 'xmlns="' || l_url || '"';
    l_method := 'sendMT';
    l_soap_action := l_url || '#sendMT';
    l_result_name := 'sendMTResponse';
    l_request := soap_api.new_request(p_method => l_method,
    p_namespace => l_namespace);
    soap_api.add_parameter(p_request => l_request,
    p_name => 'user password sender receiver chargedflag servicenumber messagetype messageid textcontent binarycontent',
    p_type => 'xsd:string',
    p_value => p_zipcode);
    l_response := soap_api.invoke(p_request => l_request,
    p_url => l_url,
    p_action => l_soap_action);
    l_return := soap_api.get_return_value(p_response => l_response,
    p_name => l_result_name,
    p_namespace => l_namespace);
    RETURN l_return;
    END;

  • How to invoke HTTP Web Services in an Adobe Interactive Form

    Hi all,
    I am using Adobe Livecycle Designer stand-alone (without Netweaver integration), currently a trial 8.2 version.
    I need to invoke an HTTP Web Service (non-SOAP) in an Adobe Interactive Form. The Net.HTTP method does not work due to security reasons. The error message I get is:
    (german)
    " NotAllowedError: Sicherheitseinstellungen verhindern den Zugriff auf diese Eigenschaft oder Methode.
    Net.HTTP.request:28:XFA:form1[0]:mysubform[0]:Region[0]:change"
    In english this translates to: "Security settings prohibit the call of this property or method.
    And indeed the "Javascript for Acrobat API reference" includes the following note:
    "Note:This method can only be made outside the context of a document (for example, in a folder level JavaScript)."
    So this method seems to be excluded from use in an Adobe document, e. g. in an interactive form. But why is it then listed at all? Is there a way to call HTTP Web Services in an Adobe Interactive Form by somehow branching out the call outside the document itself? Of course I do not want to call a SOAP service which then calls the HTTP Web Service
    Is there any other way to invoke HTTP Web Services in an Adobe Interactive Form?
    Thanks a lot for your response!
    Regards
    Christoph

    Hi,
    back again, had to handle other issues, sorry.
    Just to get a little more concrete. The condition depends on the context node attributes. So if an attribute is initial, it's field should not been shown, if it's not initial, it should ne shown. There are 6 context attributes and therefore 6 fields in the form. How can I get the attributes' value?
    And can I put them into the same subform or do I have to create 7 (6 conditions + blank-condition) subforms?
    I put the fields (textfield and context node value) that should be shown depending on conditions in a subform. So how can I adress this subform?
    I'm not so familiar with JavaScript, so please help me. I need something like:
    if (context_node_attribute X is initial) {
             subform_1.presence = "hidden" ;
    I tried it with
    if ( ARB_STUNDEN.rawValue != null) {
         Beratungsstunden.presence = "hidden" ;
    but it didn't work....
    Thanks,
    Tan

  • How to invoke a web service asynchronously using ws-addressing model?

    Hi Gurus,
    We are invoking an external web service asynchronously using Oracle Work Flow Business events using the following mechanism -
    1)Created a web service invoker event to invoke the web service.
    2)Created a subscription that invokes the web service (provided the wsdl address, operation info).
    3)Defined a subscription parameter WFBES_CALLBACK_EVENT with value pointing to a recieve event.
    4)Created a receive event(parameter value for WFBES_CALLBACK_EVENT) and a subscription that directs the response to a custom PL/SQL function to process response.
    so far so good. We were able to invoke the web service and get and process the response.
    Problem: The external web service can take upto 10 hrs to process the request. A time out of 2 hrs is set on the server hosting the external web service. So when the external web service takes more than 2 hrs to process the request and it times out and we get the following error on EBS side -
    'l_error_message:oracle.apps.fnd.wf.bes.InvokerException: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: text/html; charset=iso-8859-1'
    Now the external web service providers are suggesting that we are not calling their web service asynchronously and we should use ws-addressing model to do so.
    Is there a way to invoke this web service using ws-addressing model using business events or from PL/SQL or OA middle-tier?
    Regards,
    Sunil
    CMRO Development.
    I am providing here the WSDL of the external web service -
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="http://service.sdk.webservices.enigma.com" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax21="http://service.sdk.webservices.enigma.com/xsd" xmlns:ns="http://service.sdk.webservices.enigma.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:types>
    <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.sdk.webservices.enigma.com/xsd" xmlns:ax22="http://service.sdk.webservices.enigma.com">
    <xs:import namespace="http://service.sdk.webservices.enigma.com"/>
    <xs:complexType name="JCGWebServicesException">
    <xs:complexContent>
    <xs:extension base="ax22:Exception">
    <xs:sequence>
    <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="JCGServiceReply">
    <xs:sequence>
    <xs:element maxOccurs="unbounded" minOccurs="0" name="pdfStatus" nillable="true" type="ax21:PdfStatus"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PdfStatus">
    <xs:sequence>
    <xs:element minOccurs="0" name="jobCardID" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="pdfPath" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="status" nillable="true" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.sdk.webservices.enigma.com" xmlns:ax23="http://service.sdk.webservices.enigma.com/xsd">
    <xs:import namespace="http://service.sdk.webservices.enigma.com/xsd"/>
    <xs:complexType name="Exception">
    <xs:sequence>
    <xs:element minOccurs="0" name="Exception" nillable="true" type="xs:anyType"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="JCGWebServicesException">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" name="JCGWebServicesException" nillable="true" type="ax21:JCGWebServicesException"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="runJobCard">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" name="a_WorkpackageFilePath" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="a_userName" nillable="true" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="runJobCardResponse">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" name="return" nillable="true" type="ax21:JCGServiceReply"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    </wsdl:types>
    <wsdl:message name="JCGWebServicesException">
    <wsdl:part name="parameters" element="ns:JCGWebServicesException">
    </wsdl:part>
    </wsdl:message>
    <wsdl:message name="runJobCardResponse">
    <wsdl:part name="parameters" element="ns:runJobCardResponse">
    </wsdl:part>
    </wsdl:message>
    <wsdl:message name="runJobCardRequest">
    <wsdl:part name="parameters" element="ns:runJobCard">
    </wsdl:part>
    </wsdl:message>
    <wsdl:portType name="JCGServicePortType">
    <wsdl:operation name="runJobCard">
    <wsdl:input message="ns:runJobCardRequest" wsaw:Action="urn:runJobCard">
    </wsdl:input>
    <wsdl:output message="ns:runJobCardResponse" wsaw:Action="urn:runJobCardResponse">
    </wsdl:output>
    <wsdl:fault name="JCGWebServicesException" message="ns:JCGWebServicesException" wsaw:Action="urn:runJobCardJCGWebServicesException">
    </wsdl:fault>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="JCGServiceSoap11Binding" type="ns:JCGServicePortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="runJobCard">
    <soap:operation soapAction="urn:runJobCard" style="document"/>
    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    <wsdl:fault name="JCGWebServicesException">
    <soap:fault name="JCGWebServicesException" use="literal"/>
    </wsdl:fault>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="JCGServiceSoap12Binding" type="ns:JCGServicePortType">
    <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="runJobCard">
    <soap12:operation soapAction="urn:runJobCard" style="document"/>
    <wsdl:input>
    <soap12:body use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal"/>
    </wsdl:output>
    <wsdl:fault name="JCGWebServicesException">
    <soap12:fault name="JCGWebServicesException" use="literal"/>
    </wsdl:fault>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="JCGService">
    <wsdl:port name="JCGServiceHttpSoap12Endpoint" binding="ns:JCGServiceSoap12Binding">
    <soap12:address location="http://localhost:8080/JCG/services/JCGService"/>
    </wsdl:port>
    <wsdl:port name="JCGServiceHttpSoap11Endpoint" binding="ns:JCGServiceSoap11Binding">
    <soap:address location="http://localhost:8080/JCG/services/JCGService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    Edited by: sikumar on Jun 22, 2010 1:50 PM

    Bharat,
    You dont need a Business Event setup to invoke a BPEL process from PL/SQL unless you have a special case and you need to process the response from the BPEL process in a separate thread (or in background)..
    For a straight call to BPEL process from PL/SQL, here is a sample script -
    function "MYTEST0" return varchar2 AS
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    resp XMLType;
    i integer;
    helpStr varchar2(30000);
    BEGIN
    soap_request:= '<?xml version = ''1.0'' encoding = ''UTF-8''?>
    <env:Envelope xmlns: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:ns0="
    http://xmlns.oracle.com/TestWS">
    <env:Body>
    <ns0:TestWSProcessRequest>
    <ns0:input>abc</ns0:input>
    </ns0:TestWSProcessRequest>
    </env:Body>
    </env:Envelope>
    /* the BPEL process name is TestWS */
    http_req:= utl_http.begin_request
    ( 'http://hostname:7777/orabpel/default/TestWS/1.0'
    , 'POST'
    , 'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml');
    utl_http.set_header(http_req, 'Content-Length', length(soap_request));
    utl_http.set_header(http_req, 'SOAPAction', 'process');
    utl_http.write_text(http_req, soap_request);
    http_resp:= utl_http.get_response(http_req);
    utl_http.read_text(http_resp, soap_respond);
    utl_http.end_response(http_resp);
    resp:= XMLType.createXML(soap_respond);
    resp:= resp.extract('/soap:Envelope/soap:Body/child::node()',
    'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"');
    helpStr := '';
    i:=0;
    loop
    helpStr := helpStr || substr(soap_respond,1+ i*255,250);
    i:= i+1;
    if i*250> length(soap_respond)
    then
    exit;
    end if;
    end loop;
    return helpStr;
    END;

  • How to invoke a web service using https

    Hi,
    I have a few security related questions surrounding BPEL process manager.
    1. Does the BPEL engine have the capability to invoke a web service using https (HTTP over SSL)? Does it automatically do that if partner link URI starts with https:// ?
    2. If not, what needs to be done to enable accessing a https based web service?
    3. I need to write a web service that accepts a message and updates certain information in the database. The web service will be deployed in an OC4J instance in Oracle App Server. We want to allow the web service to be accessed from BPEL only by users registered in the database. What is the recommended way to pass username and password to a webservice if service is invoked from BPEL process manager? Note that specifying username/password in bpel.xml is not an option.
    Thanks,
    Pranav

    1. Does the BPEL engine have the capability to invoke a web service using https (HTTP over SSL)? Does it automatically do that if partner link URI starts with https:// ?
    We currently don't have support for HTTP over SSl. We are working on it to include this functionality in near future.
    2. If not, what needs to be done to enable accessing a https based web service?
    I am not sure it is possible with current product offering. I will confirm it after discussing with our concerned development group. There is some work going to integrate with Oblix security mechanism [recently acquired by Oracle].
    3. I need to write a web service that accepts a message and updates certain information in the database. The web service will be deployed in an OC4J instance in Oracle App Server. We want to allow the web service to be accessed from BPEL only by users registered in the database. What is the recommended way to pass username and password to a webservice if service is invoked from BPEL process manager? Note that specifying username/password in bpel.xml is not an option.
    This will be easier to do if we can use Oblix along with BPEL PM. Could you please let us know more about your application so that we can provide you the customized solution till it's part of the product. You can send this query to [email protected] so that our product management team can give you more detailed roadmap regarding this.
    HTH.
    Thanks,
    Rakesh

  • Problem invoking a web service from soa11g BPEL.

    Hi ,
    I am trying to invoke a web service from soa bpel 11g composite.
    We have the wsdl, wsdl URL of the web service along with the user name , password credentials.
    Initially w/o any WS policy attached and testing the composite, it fails with the below message
    *<fault>*
    *<bpelFault>*
    *<faultType>0</faultType>*
    *<remoteFault>*
    *<part name="summary">*
    *<summary>An Authentication object was not found in the SecurityContext</summary>*
    *</part>*
    *<part name="detail">*
    *<detail>javax.xml.ws.soap.SOAPFaultException: An Authentication object was not found in the SecurityContext</detail>*
    *</part>*
    *<part name="code">*
    *<code>soap:Server</code>*
    *</part>*
    *</remoteFault>*
    *</bpelFault>*
    *</fault>*
    *<faultType>*
    *<message>0</message>*
    *</faultType>*
    *</messages>*
    So I have gone back to the composite and added the WS policy (oracle/wss_username_token_client_policy) by Right clicking on web service -> Configure WS Policy -> Security -> oracle/wss_username_token_client_policy -> OK.
    After this I have added the following binding properties 'oracle.webservices.auth.username' , 'oracle.webservices.auth.password' with the respective values and deployed it again.
    Even then I face the same issue. I have looked into the EM console and found the HTTP username and password properties were blank for this Web service even though the WS policy was attached.
    Later I have tried editing the username pwd from the EM console, only to find out that the composite was now failing in the previous step (an ordinary db adapter with a select statement) even before it reaches the web service invocation.
    If I redeploy the composite, the http username and pwd properties in the EM console are erased and when i test it, it errors out at the web service invocation with the same issue again.
    Any pointers on how to solve this issue ??
    How can I figure out what is the security policy the web service is using ??
    Regards,
    Shiva Kiran

    Hi,
    Can anyone help me with this ??
    I guess I am not able to send the authorization credentials via the request to the web service invocation.
    Plz help ! This is a bit urgent..
    Regards,
    Shiva Kiran

  • Unexpected element name: expected error while invoking external web service

    Hi,
    In JDeveloper when I invoke external web service call, I am getting following exception
    "unexpected element name: expected=..."
    But the same application works fine in .NET. Can someone help me as to why I am getting the exception only in JDeveloper and how to fix this exception.
    Thanks.

    Hi,
    Without more information, it will be hard to help, and tell you what could be teh issue.
    Usually, this kind of error occurs when the payload and the WSDL schema are out of sync, for example if the order of the element on the wire do not match the order in a sequence declaration, you may get this error.
    In such case, .NET handle the XML as if it was a 'all' -- no specific order -- and deserialize the message properly.
    Hope this helps,
    -eric

  • Web Service Proxy client to invoke a Web service on SSL (Jdev 10.1.3.1)

    Hi,
    I have to develope a Web Service proxy client to invoke a web service on SSL. First I'm testing with OC4J 10.1.3.1 and JDEV 10.1.3.1 and did this:
    1) Developed a basic PL/SQL Web Service with JDEV and publish on my standalone OC4J.
    2) Made a test with a browser, it worked OK
    3) Generated a proxy client from JDev 10.1.3.1 to invoke web service, it worked OK
    --- Now make it work on SSL----
    4) Then, added SSL configuration to oc4j , generated a certificate with keytool (updated server.xml, secure-web-site.xml), and shutting down and starting the OC4j instance.
    5) Import the certificate to JAVA_HOME/jre/lib/security/cacerts
    6) Test web service from browser on https and worked OK.
    7) When tried to modified proxy client (generated in step 3) to make it work on SSL, I realized that just changing the END_POINT to the new url (https) it worked!
    Questions----
    1.- By default the proxy client generated from JDEV 10.1.3.1 knows how to deal with SSL conections?
    2.- If I dont have previously the server certificate to import it into JAVA keystore (cacerts) how could I ,from proxy client code, capture it and import it before the validation occurs... because if the certificate is not in keystore , the program fails.
    Thanks in advance
    J.

    Hi,
    Could you please provide me with the steps necessary to create a web service proxy client through JDeveloper or any other mechanism when 2 way SSL (requiring client authentication) is enabled.
    Thanks a lot in advance
    Nilesh

  • How to use WS-RM web Service from Session Bean?

    Hi all.
    Could you tell me the way how to call WS-RM web service(Staring BPM Process) from SessionBean?
    Our environment: SAP NetWeaver CE 7.2 SP3
    I do the following.
    I have created a BPM Process starting with Message Start Event.
    This Message Start Event was created by Service Interface(stateless and asynchronous) which was imported from ESR.
    I deployed this into my server and it worked fine in webservice navigator as a WS-RM WebService.
    But I can't call this webservice from SessionBean in EJBExplorer.
    I get the following error message:
    Caused by: This exception is wrapper of javax.xml.ws.soap.SOAPFaultException. com.sap.engine.services.webservices.espba
    se.client.bindings.exceptions.SOAPFaultException: Invalid WS-RM message. There are no WS-RM headers within SOAP message.
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.JAXWSUtil.processFault(JAXWSUtil.java:412)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1366)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:960)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:915)
    at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.processTransportBindingCall(WSInvocationHandler.java:168)
    at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEISyncMethod(WSInvocationHandler.java:121)
    at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEIMethod(WSInvocationHandler.java:84)
    at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invoke(WSInvocationHandler.java:65)
    at $Proxy2753.zwsvCheckOrderdataMainprocessStart(Unknown Source)
    at jp.co.ogis_ri.WSTestSessionBean.exeWS(WSTestSessionBean.java:81)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    I created this SessionBean as follows:
    I created DCs for EJB and created SessionBean in EJB DC.
    I imported a WSDL file(WS-RM web service) from Service Registory and
    I created service clients and Service References.
    After that I implemented SessionBean to call web service checking with this help.
    http://help.sap.com/saphelp_nwce72/helpdata/en/44/4d2bb1c6b00597e10000000a155369/frameset.htm
    After deploying this EJB,I configured properties in nwa.
    Thanks
    Yuichi

    Yuichi
    Did you manage to solve this?  I'm doing something similar and seeing the same problem, although they're up to 7.3 SP7.
    Any help greatly appreciated.
    Lewis

  • 10g: Invoking a web service asynchronously from BPEL

    Hello,
    I am trying to figure out a good, generic method for making a previously synchronous web service asynchronous and changing the way in which it is invoked from BPEL. I am using SOA Suite 10g (10.1.3.5)
    As I understand, one possible method to achieve this is to use IDeliveryService.post() to deliver the web service's response to the BPEL process. For this route, the standard practice of correlation seems to be to supply a correlation Id when invoking the web service and returning the same correlation id as a part of the web service's response message. However, I want to avoid this since it would mean that all response messages from the web service (10+) would have to be modified to include a correlationId, which is problematic in the special case of this web service. Including a correlationId in the request message is possible, however.
    I have tried the approach of using the conversation Id directly instead of the correlation Id, by reading the value of ora:getConversationId(), passing this to the web service and setting the property CONVERSATION_ID of the response NormalizedMessage to the same value when returning. However, I cannot seem to get this approach right. Is this possible at all?
    An alternative might be to use WS-Addressing, but I do not know if I can make the web service support this - it is written using the EJB WebService-Annotations feature and runs on OC4J as well.
    Do you have any suggestions on how this problem could be resolved?
    Edited by: 901765 on 12.12.2011 06:01

    I have found the following tutorial that implements something similiar to what I am trying to do: http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/odi/10g/10135/odiscenario_bpelcallback/odiscenario_bpelcallback.htm#t3
    Because of this, I am now confident that the conversation IDs can be used to achieve correlation. I have implemented the pattern by performing
    an invoke activity on the web service, passing the result of ora:getConversationId() as part of the message. The conversation Id returned is of UUID-Form.
    After the invoke activity, I have added a pick activity to receive the response message supplied by the web service through IDeliveryService.post(...). I can see that the message is received correctly by loooking at the contents of DLV_MESSAGE. However, the pick activity times out every time (after 10m). Looking at DLV_SUBSCRIPTION reveals that the conversation_id for the pick/receive activity is set to a value of the form bpel://localhost/default/MyBpelProcessName~1.0/7610001-BpInv0-BpSeq2.7-2. As far as I know, this should instead be set to the UUID that ora:getConversationId() returned before performing the invoke activity. What is going wrong here?
    Thanks for your help!

  • Error invoking a web service within another web service

    Hi all!
    I have to develop a web service which needs to invoke another web service, thus the first web service is acting as a client of the second one. To get this, the first web service uses the proxy provided by the home page of the second one. However, when the first service invokes the second service, the body within the soap message is modified in such a way that it is not valid for the second service, because some namespaces declarations are added, in spite of the fact that they already exist. Then, I find the following:
    Body of the SOAP request created by the first web service:
    <a:request attribute1="urn:attribute:one"
    xmlns:a="urn:namespace:one" xmlns:b="urn:namespace:two">
    <b:body>Hello</b:body>
    </a:request>
    Body of the SOAP request received by the second web service:
    <a:request xmlns:a="urn:namespace:one"
    attribute1="urn:attribute:one"
    xmlns:a="urn:namespace:one" xmlns:b="urn:namespace:two">
    <b:body xmlns:b="urn:namespace:two">Hello</b:body>
    </a:request>
    I have also tried to run a client using this proxy outside the web service, and everything is ok. So, from my point of view, the problem is when running the proxy inside a web service. I wonder if I have to do something special with this proxy in order to use it within a web service.
    Has anybody run into this situation?
    Could anybody be so kind as to tell me how to solve it or if, on the contrary, it is an oc4j bug, please?
    Thank you very much in advance.
    Inma.

    Hi,
    Thanx it is working now.
    BTW can you give me some urls with info of this kind of setting which i need to do for other kind of integarions in J2EE platform.Sorry if i am asking too much as i am a starter in this technology.

  • Invoking a web service from a java code

    Hello
    I created a simple Web service using JDevlper. It contains two methods
    1) getInf int () {
    return inf;}
    2) void setInf (int a) {
    inf = a;}
    I have deployed it on Oracle Application server. By inserting the address in a browser, I tried both methods and it works correctly.
    Here I am looking how to invoke this web service using a java client and use the method setInf (5 ) / * for example * /.
    I search but I have not found an answer that works :(. I hope you could help me to solve this problem.
    Thank you in advance

    Because you weren't told what to get, perhaps you already have it eh?
    What you want to read up about is JAX-WS, which is the webservice API bundled by default with your JDK (Java 6 and up). You'll find the wsimport tool in the bin directory of your JDK. I recommend you explore that directory and read up about all the executables you can find there, to be more prepared in the future. Know the tools you work with and all that. Most tools have a manual on this website:
    http://www.oracle.com/technetwork/java/javase/tech/index.html
    (under tools and utilities). Not wsimport, that is part of the jax-ws documentation. Better you look for jax-ws tutorials using Google, it will be quicker.

  • Invoking a Web Service using XI 2.0

    Hi all,
    I am attempting to create a scenario where an SAP application invokes a web service through XI 2.0.
    I have created an ABAP proxy to allow my ABAP to start the call process and have set up the message interfaces within the Integration Directory.
    I want XI to receive a call from this proxy and then act as the client to an existing Web Service.. calling it and bringing back a response... but it doesn't look like I can import the existing WSDL as a I would have expected.
    So... instead I have exported the Message Interface for the "out of XI" portion of the interface as a WSDL and have asked the Web Service provider to amend their service according to this XI generated WSDL.
    My difficulty now is how to use the SOAP adapter. Within the Integration Directory I presumably need to define the endpoint with XI Connectivity but I am not sure how to fill in the URL address of the SOAP adapter...
    Any help on how to configure the actual SOAP adapter to fulfill this requirement would be great too.
    I have looked around the boards to see if I could work this out from previous posts but without success so far.
    It's a synchronous scenario and basically should look like...
    ABAP Proxy->XI->SOAP Adapter->Web Service->XI->ABAP Proxy
    Many thanks,
    Gordon

    Hi Gordon,
    here is an example for SOAP-Adapter config:
    # Bubble adapter java class
    classname=com.sap.aii.messaging.adapter.ModuleBubble
    # Sets the bubble module helper that can instantiate your bubble bag
    Bubble.Helper=com.sap.aii.messaging.adapter.ModuleBubbleHelperXMBWSImpl
    ###### Part 0 (FromWS and ToWS) : common part ######
    # Keeps the XMB headers in web service messages
    XMBWS.KeepHeaders=false
    # Encodes the xmb headers into a special HTTP header string x-xmb_ws_encoded
    XMBWS.UseEncoded=false
    # The target URL for the web service, to which the adapter sends web service messages.
    # The address is part of the WSDL
    XMBWS.TargetURL=http://www.extensio.com:8080/ExtensioInfoServer/servlet/rpcrouter
    # Proxy configuration from SAP
    XMBWS.proxyHost=PrOxY
    XMBWS.proxyPort=8080
    # The port and path where the adapter waits for XMB messages from clients.
    XMBWS.XMBPort=8400
    XMBWS.XMBPath=/soap/stockquote
    # The default SOAPAction HTTP request header to the web Service server
    # The SoapAction is part of the WSDL
    XMBWS.DefaultSOAPAction=
    Of course you have to set URL, proxy and SOAP-action to your belongings.
    You define the endpoint as:
    "http://<Adapter-Server>:<XMBPort><XMBPath>"
    in this example:
    "http://localhost:8400/soap/stockquote"
    Stefan

  • Invoking a Web Service from a mobile application

    Hi all,
    I have installed Sun Wireless Toolkit 2.5.2 for CDLC and MTJ.
    I want to invoke a web service from an MTJ Application and I have not a clue of how to start.
    First let me say I am working with RSA (which is over Eclipse)
    My first attempt was creating the web service client and then try to convert it into a mobile application (through the use of MTJ --> Convert to Midlet Project)
    I found 4 errors when doing so:
    First was solved changing the jre to 1.6.
    I am still dealing with the following three:
    * Error preverifying class mipaquete.MiServicioService
    java/lang/NoClassDefFoundError: javax/xml/ws/Service
    * Error preverifying class mipaquete.ObjectFactory
    VERIFIER ERROR mipaquete/ObjectFactory.createMiOperacion(Lmipaquete/MiOperacion;)Ljavax/xml/bind/JAXBElement;:
    Illegal type in constant pool
    * Type mipaquete.MiServicioPortProxy$Descriptor Error preverifying class mipaquete.MiServicioPortProxy$Descriptor
    VERIFIER ERROR mipaquete/MiServicioPortProxy$Descriptor.getDispatch()Ljavax/xml/ws/Dispatch;:
    Illegal type in constant pool
    I only started to solve the first one. I assumed that I have to add the right .jar to manifest file (please let me know if I am wrong). I tried to do by adding the textual classpath rt.jar, however I am not able to give it the right path:
    C:\Archivos de programa\IBM\SDP\runtimes\base_v7_stub\java\jre\lib\rt.jar (even though I split the too long sentence into two and I include an space at the beginning of the second, I still get an error when saving)
    I would appreciate any help
    A) to solve the existing problems
    or
    B) To create a web service client in an EclipseME application through any other method.
    Thank-you very much in advance,
    Guadalupe
    PS Any clue is welcomed!!

    Hello rss,
    If you want to invoke a web service from a JCD you will have to build the SOAP message using JAX-RPC or AXIS and then programmatically creat an HTTP connection.
    Or you can leverage the HTTP(S) eWay and then you only have to build the SOAP message.
    Or use eInsight. You can import a WSDL into eInsight and eInsight will offer you a business process Activity to invoke the web service operations defined in the WSDL.

Maybe you are looking for