Calling a Webservice

Hi guys,
I have a webservice that is deployed, running and working on a Weblogic Server (lets for now use my localhost and port 7001).
I want to create a simple client in Java to call it and use the information it returns. I used the same code on another service and it worked, but this service accepts a string and returns a string - easy.
My webservice returns a List of objects. The objects are of a type that I defined as SchemeExclusionApplicabilityVO. I read that I need to use the "MapTypes" and "QName" methods in order to define my types, but I can't get it right. I don't know where to look up the values to pass as parameters. I have the wsdl file and also the xml that gets returned as result. Pasted my test code below. If it will help - let me know and I can paste an extract of the wsdl and/or resultant soap message.
This is the error that I get:
SOAP-ENV:Client, No Deserializer found to deserialize a ':result' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'
(I know there are other tools that makes this easier, but I would like to get this to work. Has it got something to do with the fact that I might need to map the List first and then my other types?)
CODE:
URL url = new URL( "http://localhost:7001/XXX/ExclusionService/ChronicExclusionService" );
String urn = "urn:demo1:exchange"; //NOT SURE OF THIS ONE - LEFT IT LIKE THE EXAMPLE I FOUND
Call call = new Call();
SOAPMappingRegistry smr = new SOAPMappingRegistry();
BeanSerializer beanSer = new BeanSerializer();
//DONT KNOW IF THE STATEMENT BELOW IS CORRECT - DOUBT IT
smr.mapTypes(Constants.NS_URI_SOAP_ENC,
new QName("java:za.co.xxx.benefitScheme.services.vo", "SchemeExclusionApplicabilityVO"),
SchemeExclusionApplicabilityVO.class, beanSer, beanSer);
call.setTargetObjectURI( urn );
call.setMethodName( "getAllApplicableExclusionsPerDiagnosis" );
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
call.setSOAPMappingRegistry(smr);
Vector params = new Vector();
params.addElement( new Parameter( "string", String.class, "80000", Constants.NS_URI_SOAP_ENC ) );
params.addElement( new Parameter( "string0", String.class, "0", Constants.NS_URI_SOAP_ENC ) );
params.addElement( new Parameter( "string1", String.class, "7777", Constants.NS_URI_SOAP_ENC ) );
params.addElement( new Parameter( "string2", String.class, "20060610", Constants.NS_URI_SOAP_ENC ) );
call.setParams( params );
Response response = call.invoke( url, "" );

hi Jideofor
see also forum thread "ADF binding on Web Service Data Controls"
ADF binding on Web Service Data Controls
If you found examples or documentation of using an ADF Model Data Control on a "non trivial" Web Service, please update this forum thread.
many thanks
Jan Vervecken

Similar Messages

  • How to call SAP Webservice in standalone java program

    Hi,
    In our Java application, we want to use the SAP Webservices. I dont know much about authentication mechanism used by SAP. Can any one please help me with any sample code how to Call SAP webservice in Standalone Jave Program. I searched alot on the web regarding this, but helpless. Please help me.
    Thanks,
    Mohan

    Hi Mohan,
    You need an account for the ES Workplace. I'm afraid this is not free, e.g. check [SAP NetWeaver, Composition Subscription|https://www.sdn.sap.com/irj/sdn/subscriptions/composition].
    But I thought you wanted to play with a WSDL [you already had at hand|Sample code to access BAPI Web services from JAVA required;?

  • Error while calling PI webservice from EJB

    Hi Experts,
    We are getting exception while calling PI webservice from EJB which is deployed in CE 7.2. Earlier we used to call the same webservice but from different PI system at that it worked fine. Now we have changed the consumer proxies required in CE and tried to call from CE and it is throwing error. We have checked usernames and passwords that we are using to call the service and that is working fine. PI team tested from their side and li is also fine. We have also restarted the CE system but invain. Can somebody help on this.  The below is the trace that we got.
    Location: com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding
    Text: Connection IO Exception. Check nested exception for details. (Connection reset).
    [EXCEPTION]
    com.sap.engine.services.webservices.espbase.client.bindings.exceptions.TransportBindingException: Connection IO Exception. Check nested exception for details. (Connection reset).
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.outputSOAPMessage(SOAPTransportBinding.java:419)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1364)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:990)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:944)
    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 $Proxy780.mioaRDMDataDistribution(Unknown Source)
    at com.MDMEventListener.callToPIWS(MDMEventListener.java:100)
    at com.MDMEventListener.ListenerMethod(MDMEventListener.java:173)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_WS.invoke(Interceptors_WS.java:31)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:39)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:23)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
    at com.sap.engine.services.ejb3.webservice.impl.DefaultImplementationContainer.invokeMethod(DefaultImplementationContainer.java:203)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessingEnvironment.java:730)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessingEnvironment.java:682)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingEnvironment.java:324)
    at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWOLogging(ServletDispatcherImpl.java:199)
    at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:65)
    at com.sap.engine.services.webservices.servlet.SoapServlet.doPost(SoapServlet.java:61)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
    at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:404)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:204)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:440)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:429)
    at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:82)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:268)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:54)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:447)
    at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:264)
    at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
    at com.sap.engine.services.webservices.jaxm.soap.HTTPSocket.readLine(HTTPSocket.java:950)
    at com.sap.engine.services.webservices.jaxm.soap.HTTPSocket.getInputStream(HTTPSocket.java:414)
    at com.sap.engine.services.webservices.jaxm.soap.HTTPSocket.getResponseCode(HTTPSocket.java:319)
    at com.sap.engine.services.webservices.espbase.client.bindings.ClientHTTPTransport.getResponseCode(ClientHTTPTransport.java:209)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.outputSOAPMessage(SOAPTransportBinding.java:385)
    ... 78 more
    Regards,
    Pradeep

    Hi Pradeep,
    this looks like if the server is not reachable. Have you checked if both server are able to communicate? Maybe firewall rules block the request.
    Regards,
    Tobias

  • Error getting while calling a webService from XI

    Hi
    We are getting the follwoing error while calling a webservice from XI. We Could call the same webservice from XML spy. Have checked the SOAP adapter it was running fine and the communication channel parameters too.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!-- Inbound Message --> <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"><SAP:Category>XIAdapterFramework</SAP:Category><SAP:Code area="MESSAGE">GENERAL</SAP:Code><SAP:P1/><SAP:P2/><SAP:P3/><SAP:P4/><SAP:AdditionalText>com.sap.aii.af.ra.ms.api.MessagingException: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault</SAP:AdditionalText><SAP:ApplicationFaultMessage namespace=""/><SAP:Stack/><SAP:Retry>M</SAP:Retry></SAP:Error>
    Please try to help.
    Thanks
    Ramesh

    Hi
    Thanks a lot for your kind support.
    Hi Moorthy
    We have created one Asyn MI and wrapped the external definition into that, Haven't done any mapping for responce. Please find the trace below.
    Hi Bhavesh
    It was great helpful link but the payload days is not visible for this message it was containing details about sending. For some other message i could see payload.
    I Could see one differnce in the XML Spy and "XI payload before entering SOAP Adapter"
    The following line doesn’t appear in the XI payload.
    <m:StatusUpdate xmlns:m="http://localhost/StatusUpdate" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    </m:StatusUpdate>
    Is this line would be embeded in the SOAP Adapter??? Please find the trace below. Please help me if you have any additional info.
    The message was successfully received by the messaging system. Profile: XI URL: Using connection AFW. Trying to put the message into the receive queue.
    Message successfully put into the queue.
    The message was successfully retrieved from the receive queue.
    The message status set to DLNG.
    Delivering to channel: CC_SOAP_Rcvr_D_Pick_ZALEAUD
    SOAP: request message entering the adapter
    SOAP: completed the processing
    SOAP: response message received 4cb3fab0-7fc5-11db-8c5a-000f203c93e0
    SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault
    SOAP: sending a delivery error ack ...
    SOAP: sent a delivery error ack
    Exception caught by adapter framework: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault
    Delivery of the message to the application using connection AFW failed, due to: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault.
    The asynchronous message was successfully scheduled to be delivered at Wed Nov 29 16:23:51 GMT 2006.
    The message status set to WAIT.
    Retrying to deliver message to the application. Retry: 1
    Kind Regards
    Ramesh
    Message was edited by:
            Ramesh Reddy Pothireddy

  • Error when calling a Webservice's public method in Forms10g

    Hi,
    I'm getting the following error when calling a webservice's public method, i'm using Forms10g 10.1.2.3
    java.rmi.RemoteException; nested exception is: HTTP transport error javax.xml.soap.SOAPException
    java.security.PrivilegedActionException javax.xml.soap.SOAPException
    Message send failed javax.net.ssl.SSLException SSL handshake failed X509CertChI have added the Jar containing the client proxy in both Classpaths(system variable and default.env), the jar has been made with jdk 1.4
    I also have tested the client proxy from jDeveloper and it's working there, but in Forms i'm getting this error.
    I guess my problem might be that i'm calling a webservice that is secured since the url starts with https
    what should i do to fix this ??
    Regards
    Carlos

    I understand, so i have a doubt, why the webservice works on jDeveloper ??Not just JDeveloper even soapUI and Neatbeans have a way of working without a client certificate installed.
    I do not know how they achieve it. I know that they work without a client DC.
    Cheers,
    PS: See this http://stackoverflow.com/questions/8887434/webservices-ssl-https, it offers a clue.
    The java programs run unhindered when one-way authentication is being used. These products ship with a digital certificate that is in the path of most popular CAs.
    Corollary, if the Web Server is configured for mutual authentication then you need to install and configure the client certificate in the tools.
    Edited by: Prabodh on Dec 5, 2012 8:36 PM

  • Calling a webservices from Oracle 10G ( 10.2.0.2)

    Hi:
    I am in the process of putting a database Java stored procedure that can call an external webservices.
    PL/SQL Wrapper -> Java Stored Procedure-> External Web services
    I loaded the following jars in the dataase.
    dbwsa.jar
    dbwsclient.jar
    1. I am having issues consuming this external webservice from SQL*PLUS. Do you know whether I need to load any other JARS ?
    2. How can I debug this issue ? I enabled TCP Monitor in JDeveloper and don't see anything when I call the PL/SQL wrapper in SQL*PLUS.
    3. I can use a Java client and tested the Web services OK.
    error message:
    SQL> l
    1 declare
    2 x varchar2(100);
    3 begin
    4
    5 x := tester.test_db1();
    6* end;
    SQL> /
    calling
    http://XX.XX.YY.121:8988/Application9-ViewController-context-root/MyWebService1S
    oapHttpPort
    java.rmi.RemoteException: Error parsing envelope; nested exception is:
    javax.xml.soap.SOAPException: Error parsing envelope
    at
    view.proxy.runtime.MyWebService1SoapHttp_Stub.sayhello2(MyWebService1SoapHttp_St
    ub.java:99)
    at
    prpd.MyWebService1SoapHttpPortClient.sayhello2(MyWebService1SoapHttpPortClient.j
    ava:41)
    at prpd.TEST_DB.TEST_DB1(TEST_DB.java:21)
    Caused by: javax.xml.soap.SOAPException: Error parsing envelope
    at
    oracle.j2ee.ws.saaj.soap.soap11.SOAPImplementation11.createEnvelope(SOAPImplemen
    tation11.java:103)
    at oracle.j2ee.ws.saaj.soap.SOAPPartImpl.getEnvelope(SOAPPartImpl.java:75)
    at oracle.j2ee.ws.saaj.soap.MessageImpl.getSOAPBody(MessageImpl.java:934)
    at
    oracle.j2ee.ws.client.StreamingSender._preHandlingHook(StreamingSender.java:692)
    at oracle.j2ee.ws.client.StubBase._preHandlingHook(StubBase.java:688)
    at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:207)
    at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
    at
    view.proxy.runtime.MyWebService1SoapHttp_Stub.sayhello2(MyWebService1SoapHttp_St
    ub.java:76)
    ... 2 more
    Caused by: java.lang.IllegalArgumentException
    at oracle.xml.parser.v2.XMLParser.setAttribute(XMLParser.java:794)
    at
    oracle.j2ee.ws.saaj.soap.soap11.SOAPImplementation11.createEnvelope(SOAPImplemen
    tation11.java:54)
    ... 9 more
    PL/SQL procedure successfully completed.
    SQL> /
    thx
    Raj

    thanks Tugduall for the comments. here are the instructions I followed to create a java stored procedure that can call a webservices. Unfortunately, this seems like a very complex task. Do you have any ideas how I could debug or troubleshoot this issue ?
    Please note that I used JDeveloper to generate the client code.
    ========================================================
    1. download the dbws-callout-utility-10R2.zip from OTN at:
    http://www.oracle.com/technology/sample_code/tech/java/jsp/dbwebservices.html
    2. create an application/project with 1.4 JDK.
    3. create a web service by ‘Business Tier’->Web Service->Web Service Proxy->UDDI
    4. next… to ‘Search for’, type ‘quote’.
    5. from the list select one. For me ‘Quote of day’ was picked.
    6. click Next all the way to Finish.
    7. from the ‘Application Sources’ select ‘QuotoProxy’ then find its main method.
    8. at the section
    // Add your own code here, add the line like:
    System.out.println("quote "+myPort.getQuote());
    9. run it to see its return.
    10. cteate a class that has a method to call client method to be invoked (static)
    like the following:
    package dbws;
    import dbws.QotdPortClient;
    public class MainClientStub {
    public MainClientStub() {
    public static String getMyQoute(){
    QotdPortClient myClient = null;
    try {
    myClient = new QotdPortClient();
    return myClient.getQuote();
    } catch (Exception e) {
    e.printStackTrace();
    return null;
    note that the package name in your project.
    11. create a deployment profile as ‘JAR File’. Uncheck the box ‘Project Dependencies’
    12. deploy it to the local box. ‘Deploy to JAR File’.
    13. unzip the dbws-callout-utility-10R2.zip to get dbwsa.jar.
    14. execute the following from command line:
    loadjava –user test/[email protected] -resolve –verbose –synonym –grant public to dbwsa.jar myarchive1.jar
    loadjava -user test/test@orcl1020 -resolve -verbose -synonym -genmissing -grant public myarchive1.j
    ar dbwsa.jar
    loadjava -user sys/<sys_pass> -resolve -verbose -synonym -genmissing -grant public myarchive1.jar dbwsa.jar
    15. create a function like the following:
    CREATE OR REPLACE FUNCTION teststub RETURN VARCHAR2 AS
    LANGUAGE JAVA NAME ‘dbws.MainClientStub.getMyQoute() return java.lang.String’;
    16. Run at sqlplus: Select teststub from dual;
    ======================================================

  • Calling a webservice MessageBroker from PL/SQL

    Hi gurus,
    I'm a newby at this topic and I have a simple question about calling a webservice from pl/sql.
    There is a SMS Service providing information by webservices. I want to acces them by PL/SQL.
    Parameter:
    user:password (after RFC 2617) = not required for simple respons
    method = mbInfo
    project = test
    smsbalance = total
    url with parameter:
    http://rp.yoc.de/http/&lt;project>/&lt;method>/1.0/?smsbalance=&lt;smsbalance>
    url with parameter values:
    http://rp.yoc.de/http/test/mbInfo/1.0/?smsbalance=total
    &lt;?xml version="1.0" encoding="utf-8" ?>
    &lt;result>
        &lt;processor>
          &lt;code>E07010001&lt;/code>
          &lt;message>Transaction not found (project_id=159 step_id=1002)&lt;/message>
          &lt;rid>-1&lt;/rid>
          &lt;testmode>0&lt;/testmode>
        &lt;/processor>
      &lt;handler />
    &lt;/result>I don't know how to start getting this simple result into a variable!
    I tried a simple example from here: http://akdora.wordpress.com/2007/08/03/calling-a-web-service-by-plsql-utl_http/
    But I do not understand how to use xmlns for my script or the function soap_api.get_return_value
    CREATE OR REPLACE PACKAGE pkg_my_webservice IS
    -- test parameter: 'http/test/mbInfo/1.0/?smsbalance=total'
         FUNCTION call_myfuntion
         (vp_parameter1 VARCHAR2) RETURN VARCHAR2;
    END pkg_my_webservice;
    /CREATE OR REPLACE PACKAGE BODY pkg_my_webservice IS   
    vg_funciton_fnc VARCHAR2(256) := 'myFunction';
    vg_ws_address   VARCHAR2(255) := 'http://rp.yoc.de/';   
         FUNCTION call_myfuntion(vp_parameter1 VARCHAR2)
          RETURN VARCHAR2 AS
              ol_req  soap_api.t_request;
              ol_resp soap_api.t_response;
         BEGIN
              -- we initilize a new request
              ol_req := soap_api.new_request(vg_funciton_fnc,
                                             'xmlns="' || vg_ws_address || vp_parameter1  || '"');
              -- we started to add parameters
              --soap_api.add_parameter(ol_req,
              --                       'string1',
              --                       'partns:string',
              --                       vp_parameter1);
              --soap_api.add_parameter(ol_req,
              --                       'string2',
              --                       'partns:string',
              --                       vp_parameter1);
              -- we call the web service
              ol_resp := soap_api.invoke(ol_req, vg_ws_address, vg_funciton_fnc);
              -- we get back the results
              RETURN soap_api.get_return_value(ol_resp,
                                               'result', -- result tag name
                                               'xmlns:m="' || --can be change as "xmlns:n1"
                                               vg_ws_address || '"');
    END call_myfuntion;
    END pkg_my_webservice;Thanks ahead!
    Best regards,
    Tobias

    Hi !
    declare
      req  utl_http.req;
      resp utl_http.resp;
      v_txt clob;
    begin
      req  := UTL_HTTP.begin_request ('http://rp.yoc.de/http/test/mbInfo/1.0/?smsbalance=total','GET','HTTP/1.1');
      resp := UTL_HTTP.get_response  (req);
      dbms_output.put_line(resp.status_code);
      dbms_output.put_line(resp.reason_phrase);
       utl_http.read_text(resp,v_txt);
       dbms_output.put_line(v_txt);
       UTL_HTTP.end_response(resp);
    end;I'm not exactly sure what are you looking for .. but that response from your post you can get with my code ( it's tested ).
    T
    Edited by: ttt on 12.3.2010 5:10
    My code is very "poor" , there is no error checks no header setup's no basic authentication no proxy settings .....

  • Error While calling getListItem Webservice : Server was unable to process request. --- Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

    Hi All,
    we are calling sharepoint webservice from our web application but we are getting below error while calling webservice.
    Server was unable to process request. ---> Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    Our code is as below.
    We used below 2 options but we got same error for both scenario,
    1)
                ListService.Lists objLists = new ListService.Lists();
                NetworkCredential objNetworkCredential = new NetworkCredential("username", "password");
                objLists.Credentials = objNetworkCredential;
                System.Xml.XmlNode objXmlNode = objLists.GetListItems("Tasks", null, null, null, null, null, null);
    2)         ListService.Lists objLists = new ListService.Lists();
                objLists.Proxy = new WebProxy("proxyaddress",true);
                NetworkCredential objNetworkCredential = new NetworkCredential("username", "password");
                objLists.Credentials = objNetworkCredential;
                System.Xml.XmlNode objXmlNode = objLists.GetListItems("Tasks", null, null, null, null, null, null);
    Please help me what is the problem while calling this service.
    Thanks in advance.
    Regards,
    Kaivan Shah

    Hi ,
    Here is a similar case ,you can have a look at this .
    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) -Accessing the sharepoint site:
    http://social.msdn.microsoft.com/Forums/en-NZ/sharepointworkflow/thread/5eab2116-7d7c-4bf3-bfa1-48bd8992dded
    Thanks,
    Entan Ming

  • Calling a webservice from webdynpro ABAP.

    Hi,
    Anybody have doc/material with screenshots on calling a webservice from webdynpro ABAP (In WAS 7.0 version using service calls )  with clear steps ?
    Thanks in advance. Ponts will not be a constraint for right answers
    Praveen
    Edited by: Praveen kumar Kadi on Feb 23, 2009 11:19 AM

    Hi Praveen,
    1st Step : configure Logical Port
    http://help.sap.com/saphelp_nw70/helpdata/EN/16/285d32996b25428dc2eedf2b0eadd8/frameset.htm
    2nd Step : Generate Proxy Object
    http://help.sap.com/saphelp_nw70/helpdata/EN/16/285d32996b25428dc2eedf2b0eadd8/frameset.htm
    3rd Step : Instantiating the proxy object & calling the methods exposed by webservice
    data: sys_exception type ref to cx_ai_system_fault,
          sys_exception2 type ref to cx_ai_application_fault,
          client_proxy type ref to zco_myesa, "MY PROXY CLASS
          lv_ret_code type int4,
          lv_input type zsend_email_input,
          lv_response type zsend_email_response.
    data: lv_from type string,
          lv_from_address type string,
          lv_to type string,
          lv_to_address type string,
          lv_subject type string,
          lv_msg type string.
    lv_input-from = 'MYSAPTEST'.
    lv_input-from_address = '<someAddress>'.
    lv_input-to = 'Prashant'.
    lv_input-to_address = '<someAddress>'.
    lv_input-subject = ' TEST'.
    lv_input-msg_body = ' Hi this is wonderfull to see it work'.
    try.
    create object client_proxy
    exporting
    logical_port_name = 'BASIC'. " Basic is a TYPE G RFC Destination
    call method client_proxy->send_email
       exporting
         input  = lv_input
       importing
         output = lv_response    .
      catch cx_ai_system_fault  into sys_exception .
        data lv_err type string.
         lv_err = sys_exception->if_message~get_text( ).
         write: / lv_err.
      catch cx_ai_application_fault into sys_exception2  .
         lv_err = sys_exception->if_message~get_text( ).
         write: / lv_err.
    endtry.
    if lv_response is initial.
       write: /'Not Executed'.
    else.
       write: /'Did Execute'.
    endif.
    Greetings
    Prashant

  • Calling a webservice from weblogic EJB Application

    Hello,
    I have a webservice running on IIS server. I created a simple java client program to call the webservice and it works fine. However, when I wrapped the same java client program as a EJB Application, I am unable to call the webservice.
    I get the following error:
    ####<Apr 3, 2007 1:59:30 AM CDT> <Info> <WebService> <CASEJBServer> <ExecuteThread: '24' for queue: 'weblogic.kernel.Default'> <<anonymous>> <> <BEA-220094> <An IOException was thrown trying to access the WSDL at the given URL.>
    And
    "java.io.FileNotFoundException: Response: '401: Unauthorized' for url: XXXXXX"
    Could you please give some simple steps as what are the JAR Files required to be included in the Weblogic Server's classpath to call the webservice.
    Thanks.

    To start off you need to make sure that your client api is in the classpath, either in your ejb or your ear or the server classpath.
    The other concern I would have is that it seems you are just not authorized to access the URL.
    - Does the WSDL require credentials? So in other words when you go to the URL are you allowed to access the WSDL without athenticating.
    - How does your Impl get created?
    MyServiceImpl service = new MyServiceImpl()
    If you are using the empty constructor then what is the wsdl endpoint in your jar file since that is the wsdl it will use. If the endpoint is localhost/xxx/xxx then you will have issues since that means your not deployed on localhost. What url is at the endpoint? Do you have access to the url from your server?
    If you are using "new MyServiceImpl(url);" then again is the wsdl locked down because in this case you will need to do somthing like http://username:[email protected]/xxx?wsdl
    Hope this helps.
    -Jesus

  • Calling a webservice from Pl/SQL

    Hi,
    I have created a function to call a webservice but I am getting the following error
    ORA-20000: soap:Client - System.Web.Services.Protocols.SoapException: Server
    did not recognize the value of HTTP Header SOAPAction: ConversionRate.
    at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
    at
    System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage
    message)
    at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
    at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type,
    HttpContext context, HttpRequest request, HttpResponse response, Boolean&amp;
    abortProcessing)
    ORA-06512: at "APPS.SOAP_API", line 54
    ORA-06512: at "APPS.SOAP_API", line 81
    ORA-06512: at "APPS.PKG_MY_WEBSERVICE", line 12
    The Packages code are as follow:
    CREATE OR REPLACE PACKAGE soap_api AS
    TYPE t_request IS RECORD (
    method VARCHAR2(256),
    namespace VARCHAR2(256),
    body VARCHAR2(32767),
    envelope_tag VARCHAR2(30)
    TYPE t_response IS RECORD
    doc XMLTYPE,
    envelope_tag VARCHAR2(30)
    FUNCTION new_request(p_method IN VARCHAR2,
    p_namespace IN VARCHAR2,
    p_envelope_tag IN VARCHAR2 DEFAULT 'SOAP-ENV')
    RETURN t_request;
    PROCEDURE add_parameter(p_request IN OUT NOCOPY t_request,
    p_name IN VARCHAR2,
    p_type IN VARCHAR2,
    p_value IN VARCHAR2);
    FUNCTION invoke(p_request IN OUT NOCOPY t_request,
    p_url IN VARCHAR2,
    p_action IN VARCHAR2)
    RETURN t_response;
    FUNCTION get_return_value(p_response IN OUT NOCOPY t_response,
    p_name IN VARCHAR2,
    p_namespace IN VARCHAR2)
    RETURN VARCHAR2;
    END soap_api;
    CREATE OR REPLACE PACKAGE BODY soap_api AS
    FUNCTION new_request(p_method IN VARCHAR2,
    p_namespace IN VARCHAR2,
    p_envelope_tag IN VARCHAR2 DEFAULT 'SOAP-ENV')
    RETURN t_request AS
    l_request t_request;
    BEGIN
    l_request.method := p_method;
    l_request.namespace := p_namespace;
    l_request.envelope_tag := p_envelope_tag;
    RETURN l_request;
    END;
    PROCEDURE add_parameter(p_request IN OUT NOCOPY t_request,
    p_name IN VARCHAR2,
    p_type IN VARCHAR2,
    p_value IN VARCHAR2) AS
    BEGIN
    p_request.body := p_request.body||'<'||p_name||' xsi:type="'||p_type||'">'||p_value||'</'||p_name||'>';
    END;
    PROCEDURE generate_envelope(p_request IN OUT NOCOPY t_request,
              p_env IN OUT NOCOPY VARCHAR2) AS
    BEGIN
    p_env := '<'||p_request.envelope_tag||':Envelope xmlns:'||p_request.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/" ' ||
    'xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">' ||
    '<'||p_request.envelope_tag||':Body>' ||
    '<'||p_request.method||' '||p_request.namespace||' '||p_request.envelope_tag||':encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">' ||
    p_request.body ||
    '</'||p_request.method||'>' ||
    '</'||p_request.envelope_tag||':Body>' ||
    '</'||p_request.envelope_tag||':Envelope>';
    END;
    PROCEDURE show_envelope(p_env IN VARCHAR2) AS
    i PLS_INTEGER;
    l_len PLS_INTEGER;
    BEGIN
    i := 1; l_len := LENGTH(p_env);
    WHILE (i <= l_len) LOOP
    DBMS_OUTPUT.put_line(SUBSTR(p_env, i, 60));
    i := i + 60;
    END LOOP;
    END;
    PROCEDURE check_fault(p_response IN OUT NOCOPY t_response) AS
    l_fault_node XMLTYPE;
    l_fault_code VARCHAR2(256);
    l_fault_string VARCHAR2(32767);
    BEGIN
    l_fault_node := p_response.doc.extract('/'||p_response.envelope_tag||':Fault',
    'xmlns:'||p_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/');
    IF (l_fault_node IS NOT NULL) THEN
    l_fault_code := l_fault_node.extract('/'||p_response.envelope_tag||':Fault/faultcode/child::text()',
    'xmlns:'||p_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/').getstringval();
    l_fault_string := l_fault_node.extract('/'||p_response.envelope_tag||':Fault/faultstring/child::text()',
    'xmlns:'||p_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/').getstringval();
    RAISE_APPLICATION_ERROR(-20000, l_fault_code || ' - ' || l_fault_string);
    END IF;
    END;
    FUNCTION invoke(p_request IN OUT NOCOPY t_request,
    p_url IN VARCHAR2,
    p_action IN VARCHAR2)
    RETURN t_response AS
    l_envelope VARCHAR2(32767);
    l_http_request UTL_HTTP.req;
    l_http_response UTL_HTTP.resp;
    l_response t_response;
    BEGIN
    generate_envelope(p_request, l_envelope);
    show_envelope(l_envelope);
    l_http_request := UTL_HTTP.begin_request(p_url, 'POST','HTTP/1.1');
    UTL_HTTP.set_header(l_http_request, 'Content-Type', 'text/xml');
    UTL_HTTP.set_header(l_http_request, 'Content-Length', LENGTH(l_envelope));
    UTL_HTTP.set_header(l_http_request, 'SOAPAction', p_action);
    UTL_HTTP.write_text(l_http_request, l_envelope);
    l_http_response := UTL_HTTP.get_response(l_http_request);
    UTL_HTTP.read_text(l_http_response, l_envelope);
    UTL_HTTP.end_response(l_http_response);
    l_response.doc := XMLTYPE.createxml(l_envelope);
    l_response.envelope_tag := p_request.envelope_tag;
    l_response.doc := l_response.doc.extract('/'||l_response.envelope_tag||':Envelope/'||l_response.envelope_tag||':Body/child::node()',
    'xmlns:'||l_response.envelope_tag||'="http://schemas.xmlsoap.org/soap/envelope/"');
    -- show_envelope(l_response.doc.getstringval());
    check_fault(l_response);
    RETURN l_response;
    END;
    FUNCTION get_return_value(p_response IN OUT NOCOPY t_response,
    p_name IN VARCHAR2,
    p_namespace IN VARCHAR2)
    RETURN VARCHAR2 AS
    BEGIN
    RETURN p_response.doc.extract('//'||p_name||'/child::text()',p_namespace).getstringval();
    END;
    END soap_api;
    SHOW ERRORS
    CREATE OR REPLACE PACKAGE pkg_my_webservice IS
    FUNCTION call_myfunction(vp_parameter1 VARCHAR2,vp_parameter2 VARCHAR2) RETURN VARCHAR2;
    END pkg_my_webservice;
    CREATE OR REPLACE PACKAGE BODY pkg_my_webservice IS
    vg_funciton_fnc VARCHAR2(256):='ConversionRate';
    vg_ws_address VARCHAR2(255):='http://www.webservicex.net/CurrencyConvertor.asmx';
    FUNCTION call_myfunction(vp_parameter1 VARCHAR2,vp_parameter2 VARCHAR2)
    RETURN VARCHAR2 AS
    ol_req soap_api.t_request;
    ol_resp soap_api.t_response;
    BEGIN
    ol_req:=soap_api.new_request(vg_funciton_fnc,'xmlns="'||vg_ws_address||'"');
    soap_api.add_parameter(ol_req,'string1','partns:string',vp_parameter1);
    soap_api.add_parameter(ol_req,'string2','partns:string',vp_parameter1);
    ol_resp:=soap_api.invoke(ol_req,vg_ws_address,vg_funciton_fnc);
    RETURN soap_api.get_return_value(ol_resp,'result','xmlns:m="'||vg_ws_address||'"');
    END call_myfunction;
    END pkg_my_webservice;
    -----------------------------------------------------------------------------------------------------------------------------------

    Hi,
    The soap_api package internally uses the utl_http api. I used the utl_http package directly and it works for me. Below is the code for the call, you will have to substitute the variables to suit your setup..
    Hope this Helps
    Thanks
    CREATE OR REPLACE FUNCTION get_webservice_dets(p_emp_number IN VARCHAR2
    ,p_eff_date IN DATE)
    RETURN VARCHAR2
    IS
    lc_proc VARCHAR2(50) := 'get_webservice_dets';
    ln_error_stg NUMBER := 0;
    lc_eff_date VARCHAR2(50) := NULL;
    soap_request VARCHAR2(32767);
    soap_respond VARCHAR2(32767);
    -- HTTP variables
    req utl_http.req;
    resp utl_http.resp;
    -- Store the Webservice URL in a Profile Option and change for each environment
    lc_wsdl_url VARCHAR2(32767) := FND_PROFILE.VALUE('XXERP_WEBSRVC_URL');
    -- return Values
    lc_retval VARCHAR2(32767);
    lc_response VARCHAR2(32767);
    lc_xml_ext_str VARCHAR2(100) := '/env:Envelope/env:Body/OutputParameters/';
    lc_xml_ext_unit VARCHAR2(50) := '/text()';
    lc_xmlns_ns1_url VARCHAR2(240) := 'xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/XXERP_SOA_HCM_PKG/GET_SUPERVISOR_NO/"';
    lc_xmlns_env_url VARCHAR2(240) := 'xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"';
    lc_xmlns_xsi_url VARCHAR2(240) := 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"';
    lc_xmlns_url VARCHAR2(240) := 'xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/XXERP_SOA_HCM_PKG/GET_SUPERVISOR_NO/"';
    lc_xml_namespace VARCHAR2(5000) := lc_xmlns_env_url||' '||lc_xmlns_xsi_url||' '||lc_xmlns_url;
    lc_xmlns_soap_url VARCHAR2(240) := 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"';
    lx_Response XMLTYPE;
    BEGIN
    ln_error_stg := 10;
    IF NVL(lc_wsdl_url,'X') <> 'X' THEN
    -- Format the date received as required by the Webservice i.e. - 'YYYY-MM-DDTHH:MI:SS+01:00'
    lc_eff_date := REPLACE(TRIM(TO_CHAR(TRUNC(p_eff_date),'YYYY-MM-DD HH:MI:SS')),' ','T')||'+01:00';
    -- Form a SOAP Envelope - Exact envelope can be obtained by invoking the above EndPoint URL in a browser session with required
    -- parameters and then clicking on the XML Source
    soap_request:= '<soap:Envelope '||lc_xmlns_soap_url||'>
    <soap:Body '||lc_xmlns_ns1_url||'>
    <ns1:InputParameters>
    <ns1:P_EMPLOYEE_NUMBER>'||p_emp_number||'</ns1:P_EMPLOYEE_NUMBER>
    <ns1:P_DATE>'||lc_eff_date||'</ns1:P_DATE>
    </ns1:InputParameters>
    </soap:Body>
    </soap:Envelope>';
    -- Initiate the HTTP request, don't forget to pass in the POST and HTTP/1.1
    req := UTL_HTTP.BEGIN_REQUEST(lc_wsdl_url, 'POST','HTTP/1.1');
    ln_error_stg := 20;
    -- Set the HTTP Request Headers
    UTL_HTTP.SET_HEADER(req, 'Content-Type', 'text/xml'); -- since we are dealing with plain text in XML documents
    ln_error_stg := 40;
    UTL_HTTP.SET_HEADER(req, 'Content-Length', LENGTH(soap_request));
    ln_error_stg := 50;
    -- Set the SOAP Action to the Operation Name
    -- The function Name <getSupervisorID> should match the Webservice Operation Name in SOA
    UTL_HTTP.SET_HEADER(req, 'SOAPAction','getSupervisorID'); -- required to specify this is a SOAP communication
    ln_error_stg := 60;
    -- Append the SOAP Envelope to the HTTP request Header
    UTL_HTTP.WRITE_TEXT(req, soap_request);
    ln_error_stg := 70;
    -- Fetch the HTTP response from the Webservice - This will contain the SOAP Envelope response
    -- that needs to be processed downstream
    resp := UTL_HTTP.GET_RESPONSE(req);
    ln_error_stg := 80;
    -- Extract the HTTP response and store in a String Variable
    -- READ_TEXT is a specific method exposed to read the SOAP envelope returned from Webservice
    -- READ_LINE will read the entire HTML response back from the Server..
    UTL_HTTP.READ_TEXT(resp, lc_retval);
    ln_error_stg := 90;
    -- Create an XML Document from the String returned by the HTTP response..
    lx_Response := SYS.XMLTYPE.CREATEXML(lc_retval);
    ln_error_stg := 110;
    -- If the response is not null then extract the string value of the required output parameter
    -- the env: tag needs to be qualified with a corresponding namespace.
    IF lx_Response IS NOT NULL THEN
    lc_response := lx_Response.extract(lc_xml_ext_str||'PERSON_ID'||lc_xml_ext_unit,lc_xml_namespace).getstringval();
    ELSE
    DBMS_OUTPUT.PUT_LINE('XMLTYPE Doc returns NULL !!');
    lc_response := NULL;
    END IF;
    ln_error_stg := 120;
    -- End the response, otherwise you get
    -- UTL_HTTP.TOO_MANY_REQUESTS exception after 5 tries
    UTL_HTTP.END_RESPONSE(resp);
    ELSE
    DBMS_OUTPUT.PUT_LINE('Web Service URL not populated, please provide a value for the Profile Option XXERP: Web Service URL');
    lc_response := NULL;
    END IF;
    RETURN lc_response;
    EXCEPTION
    WHEN UTL_HTTP.TOO_MANY_REQUESTS THEN
    UTL_HTTP.END_RESPONSE(resp);
    RETURN NULL;
    WHEN UTL_HTTP.END_OF_BODY THEN
    UTL_HTTP.END_RESPONSE(resp);
    RETURN NULL;
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('ERROR @'||ln_error_stg||': '||SQLERRM);
    UTL_HTTP.END_RESPONSE(resp);
    RETURN NULL;
    END get_webservice_dets;

  • Error calling a webservice from one server process of the cluster

    Hi ,
    I have a servlet which on startup makes a call to a webservice. I deploy this webapp on the cluster.
    The cluster has two instances each instance having one server process.
    So when the server restarts one server process on one instance calls the web service the other process on other instance fails with a 503 response code.
    When I tried to reproduce the same problem using two server processes on the same instance both processes are able to call the webservice properly.
    I am slightly confused as to how different the second scenario is from first one as both are individual server process and may or may not run on same instance.
    Can anyone tell me the real cause.
    Rgds
    Shashank

    Hi Rajat,
    This is how the default trace looks
    FATAL: Application Servlet failed to notify devices.
    Caught java.rmi.RemoteException: Service call exception; nested exception is:
         com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (503) Service Unavailable. The requested URL was:"http://<<server>>:50000/ManagementService/ManagementService?style=document"
         at com.om.mws.standaloneproxy.ManagementServiceBindingStub.notifyDevice(ManagementServiceBindingStub.java:1289)
         at com.om.mws.standaloneproxy.ManagementServiceBindingStub.notifyDevice(ManagementServiceBindingStub.java:1298)
         at com.om.ApplicationServlet$NotifyDevices.run(ApplicationServlet.java:86)
    Caused by: com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (503) Service Unavailable. The requested URL was:"http://<<server>>:50000/ManagementService/ManagementService?style=document"
         at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.handleResponseMessage(MimeHttpBinding.java:980)
         at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.call(MimeHttpBinding.java:1430)
         at com.om.mws.standaloneproxy.ManagementServiceBindingStub.notifyDevice(ManagementServiceBindingStub.java:1282)
         ... 2 more
    java.lang.NoSuchMethodError
    at java.lang.Thread.destroy(Thread.java:779)
         at com.omApplicationServlet$NotifyDevices.run(ApplicationServlet.java:92)
    Rgds
    Shashank

  • Problem while calling a Webservice from a Stand alone java program

    Hello Everyone,
    I am using a java program to call a webservice as follows. For this I have generated the client proxy definition for Stand alone proxy using NWDS.
    Now when I call the method of the webservice I am getting the correct result but along with the result I am getting one error and one warning message in the output.
    The java code to call the webservice is as follows.
    public class ZMATRDESCProxyClient {
         public static void main(String[] args) throws Exception {
              Z_MATRDESC_WSDService ws = new Z_MATRDESC_WSDServiceImpl();
              Z_MATRDESC_WSD port = (Z_MATRDESC_WSD)ws.getLogicalPort("Z_MATRDESC_WSDSoapBinding",Z_MATRDESC_WSD.class);
              String res = port.zXiTestGetMatrDesc("ABCD134");
              System.out.print(res);
    The result I am getting is :
    Warning ! Protocol Implementation [com.sap.engine.services.webservices.jaxrpc.wsdl2java.features.builtin.MessageIdProtocol] could not be loaded (NoClassDefFoundError) !
    Error Message is :com/sap/guid/GUIDGeneratorFactory
    <b>Material Not Found</b> -
    > This is the output of webservice method and it is right.
    Can any one please let me know why I am getting the warning and error message and how can I fix this.
    Thanks
    Abinash

    Hi Abinash,
    I have the same problem. Have you solve that problem?
    I am using a java program to call a webservice too. And I have generated the client proxy definition for Stand alone proxy using NWDS. When I call the method of the webservice I am getting the correct result but along with the result I am getting one error and one warning message in the output.
    The java code to call the webservice is as follows.
    MIDadosPessoaisSyncService service = new MIDadosPessoaisSyncServiceImpl();
    MIDadosPessoaisSync port = service.getLogicalPort("MIDadosPessoaisSyncPort");
    port._setProperty("javax.xml.rpc.security.auth.username","xpto");
    port._setProperty("javax.xml.rpc.security.auth.password","xpto");
    String out = port.MIDadosPessoaisSync("xpto", "xpto");
    System.out.println(out);
    The result I am getting is :
    Warning ! Protocol Implementation [com.sap.engine.services.webservices.jaxrpc.wsdl2java.features.builtin.MessageIdProtocol] could not be loaded (NoClassDefFoundError) !
    Error Message is :com/sap/guid/GUIDGeneratorFactory
    <b>The result of the WS is correct!!!</b>
    The Java project does not have any warning. But the stand alone proxy project has following warnings associated with it.
    This method has a constructor name     MIDadosPessoaisSync.java     
    The import javax.xml.rpc.holders is never used     MIDadosPessoaisSyncBindingStub.java     
    The import javax.xml.rpc.encoding is never used     MIDadosPessoaisSyncBindingStub.java     
    The constructor BaseRuntimeException(ResourceAccessor, String, Throwable) is deprecated     MIDadosPessoaisSyncBindingStub.java
    It is very similar with your problem, could you help me?
    Thanks
    Gustavo Freitas

  • Calling a webservice from within Bex Web Application Designer

    Hi
    I have a web-template built with BEx web application designer which also contains textboxes. This text should be stored by calling a webservice (standard BI-documents are not an option).
    Can anyone tell me how I could call a webservice from within the BEx web template to store the text contained in the textbox? The webservice-call should include some of the filter-varialbes of the web application.
    Is this only possible by the use of a JavaScript WebItem? If so - does anyone have an example of such a JavaScript.
    Thanks a lot in advance.
    Kind regards.
    Christoph

    Thanks for your response. The BSP page would work out fine if I only needed to save the data.
    But the next time I call the webtemplate, the textarea should be filled by another webservice call with the stored text (so the text can be modified und saved again). This will not be possible by calling a BSP page.
    Do yoiu have any suggestions how to integrate the text (return value from the webservice call) into the textbox in the webtemplate?
    Kind regards.
    Christoph

  • Calling secured webservice from java

    Hi Experts,
    I am trying to call a secured webservice from java.
    I got the code to call a non secured web service in java.
    What changes do i need to do in this to call a secured webservice.
    Please help me.
    Thank you
    Regards
    Gayaz
    calling unsecured webservice
    package wscall1;
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.StringBufferInputStream;
    import java.io.StringReader;
    import java.io.StringWriter;
    import java.io.Writer;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.security.Permission;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.ParserConfigurationException;
    import org.apache.xml.serialize.OutputFormat;
    import org.apache.xml.serialize.XMLSerializer;
    import org.w3c.css.sac.InputSource;
    import org.w3c.dom.Document;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    public class WSCall2 {
    public WSCall2() {
    super();
    public static void main(String[] args) {
    try {
    WSCall2 ss = new WSCall2();
    System.out.println(ss.getWeather("Atlanta"));
    } catch (Exception e) {
    e.printStackTrace();
    public String getWeather(String city) throws MalformedURLException, IOException {
    //Code to make a webservice HTTP request
    String responseString = "";
    String outputString = "";
    String wsURL = "https://ewm52rdv:25100/Saws/SawsService";
    URL url = new URL(wsURL);
    URLConnection connection = url.openConnection();
    HttpURLConnection httpConn = (HttpURLConnection)connection;
    ByteArrayOutputStream bout = new ByteArrayOutputStream();
    //Permission p= httpConn.getPermission();
    String xmlInput =
    "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://www.ventyx.com/ServiceSuite\">\n" +
    " <soapenv:Header>\n" +
    "     <soapenv:Security>\n" +
    " <soapenv:UsernameToken>\n" +
    " <soapenv:Username>sawsuser</soapenv:Username>\n" +
    " <soapenv:Password>sawsuser1</soapenv:Password>\n" +
    " </soapenv:UsernameToken>\n" +
    " </soapenv:Security>" + "</soapenv:Header>" + " <soapenv:Body>\n" +
    " <ser:GetUser>\n" +
    " <request><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" +
                "                        <GetUser xmlns=\"http://www.ventyx.com/ServiceSuite\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
                "                        <UserId>rs24363t</UserId>\n" +
                "                        </GetUser>]]>\n" +
    " </request>\n" +
    " </ser:GetUser>\n" +
    " </soapenv:Body>\n" +
    "</soapenv:Envelope>";
    byte[] buffer = new byte[xmlInput.length()];
    buffer = xmlInput.getBytes();
    bout.write(buffer);
    byte[] b = bout.toByteArray();
    String SOAPAction = "GetUser";
    // Set the appropriate HTTP parameters.
    httpConn.setRequestProperty("Content-Length", String.valueOf(b.length));
    httpConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
    httpConn.setRequestProperty("SOAPAction", SOAPAction);
    // System.out.println( "opening service for [" + httpConn.getURL() + "]" );
    httpConn.setRequestMethod("POST");
    httpConn.setDoOutput(true);
    httpConn.setDoInput(true);
    OutputStream out = httpConn.getOutputStream();
    //Write the content of the request to the outputstream of the HTTP Connection.
    out.write(b);
    out.close();
    //Ready with sending the request.
    //Read the response.
    InputStreamReader isr = new InputStreamReader(httpConn.getInputStream());
    BufferedReader in = new BufferedReader(isr);
    //Write the SOAP message response to a String.
    while ((responseString = in.readLine()) != null) {
    outputString = outputString + responseString;
    //Parse the String output to a org.w3c.dom.Document and be able to reach every node with the org.w3c.dom API.
    Document document = parseXmlFile(outputString);
    NodeList nodeLst = document.getElementsByTagName("User");
    String weatherResult = nodeLst.item(0).getTextContent();
    System.out.println("Weather: " + weatherResult);
    //Write the SOAP message formatted to the console.
    String formattedSOAPResponse = formatXML(outputString);
    System.out.println(formattedSOAPResponse);
    return weatherResult;
    public String formatXML(String unformattedXml) {
    try {
    Document document = parseXmlFile(unformattedXml);
    OutputFormat format = new OutputFormat(document);
    format.setIndenting(true);
    format.setIndent(3);
    format.setOmitXMLDeclaration(true);
    Writer out = new StringWriter();
    XMLSerializer serializer = new XMLSerializer(out, format);
    serializer.serialize(document);
    return out.toString();
    } catch (IOException e) {
    throw new RuntimeException(e);
    private Document parseXmlFile(String in) {
    try {
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    InputSource is = new InputSource(new StringReader(in));
    InputStream ins = new StringBufferInputStream(in);
    return db.parse(ins);
    } catch (ParserConfigurationException e) {
    throw new RuntimeException(e);
    } catch (SAXException e) {
    throw new RuntimeException(e);
    } catch (IOException e) {
    throw new RuntimeException(e);
    } catch (Exception e) {
    throw new RuntimeException(e);
    static {
    javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(new javax.net.ssl.HostnameVerifier() {
    public boolean verify(String hostname, javax.net.ssl.SSLSession sslSession) {
    if (hostname.equals("ewm52rdv")) {
    return true;
    return false;
    }

    Gayaz  wrote:
    What we are trying is we are invoking webservice by passing SOAP request and we will get soap response back.I understand what you're trying to do, the problem is with tools you're using it will take a while for you do anything a little away from the trivial... Using string concatenation and URL connection and HTTP post to call webservices is like to use a hand drill... It may work well to go through soft wood, but it will take a lot of effort against a concrete wall...
    JAX-WS and JAXB and annotations will do everything for you in a couple of lines and IMHO you will take longer to figure out how to do everything by hand than to learn those technologies... they are standard java, no need to add any additional jars...
    That's my thought, hope it helps...
    Cheers,
    Vlad

  • Calling the webservice twice - Duplicate entries

    Hi Experts,
    Scenario : SOAP Client -> Call Microsoft webservice -> XI JDBC Sync call-> Call Microsoft webservice.
    BPM Steps:
    1. Receive Step -> Get the SOAP Client request (Open S/A Bridge)
    2. Send Step -> Async call to Microsoft webservice  to update the log status.
    3. Send Step -> Sync call to JDBC
    5. Send Step -> Close the S/A bridge
    6. Send Step -> Call the Microsoft webservice to update the log status.
    Receiver Determination Steps
    1. SOAP Sender to BPM
    2. BPM(Async request) to 2 Log Business Service. I have mentioned the both business service under Configured Receivers section in Receiver Determination.
    3. BPM(Sync request) to JDBC
    Issue : The JDBC part works fine. Only problem with the Microsoft webservice. Twice it update the log table. ie. Twice it calls the Microsoft's each webservice.
    Please help me out, how to stop the second retry and let me know the above approach is correct or not.
    Thanks & Regards
    Sara

    Hi Sara,
    As per your info, Earlier you was trying to call both logging updates under one Sync/Async Bridge. But on Webservice side it will give you two responses and you will handling only one.
    In later case also you are handling only 1st response of Webservice call, but the another call is still open.
    Actually you are trying to built two Sync/Async Birdges. Which is not at all possible under one BPM.
    SAP have not recommended for it.
    Refer
    http://help.sap.com/saphelp_nw04/helpdata/en/43/65d4dab39b0398e10000000a1553f6/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/83/d2a84028c9e469e10000000a1550b0/content.htm
    You need to create two seperate interfaces for this.
    For e.g.
    1st will call the Webservice before updating the JDBC tables.
    2nd After updating the JDBC table you can again call the Webservice for updated logging status.
    Thanks
    Swarup
    Edited by: Swarup Sawant on Jun 2, 2008 8:50 AM

Maybe you are looking for

  • HP Pavilion p7-1423w no longer boots

    It all started on December 3, when I wanted to downgrade to Windows 7. 1st I removed my Video card which is a GTX550ti, then I disabled secure boot and then placed the card back in and can finally see the BIOS Screen with my video card in. But it wou

  • Setting a Prompt value for KeyDate in WebI on SAP OLAP universe

    I have a webi report which has as its dataprovider a query against an SAP olap universe against a BEx query which has the KeyDate parameter exposed. Iu2019d like to get at this prompt from the SDK. In infoview if I run the report it pulls up the keyd

  • The third party software that Apple used to have on their website

    For years, Apple had lots of third party software listed on their website. Now, it's gone without so much as a link or even a paragraph of text to find it. Anyone know what they did with it and where I can find it?

  • ACE 4710: Config Allows all traffic except large HTTP downloads

    Hi Folks, Got an ACE 4710 with a basic config that seems to work for all traffic except large downloads. I've attached the current config As I mentioned I can do normal HTTP to a standard destination like google or SSH through the ACE or ICMP If i tr

  • Satellite A660 BIOS update link does not work

    Hey, I got a message today (on Toshiba tempro) that the BIOS update is available. Unfortunately the link does not work. I hope someone reads this part of the administration of technical assistance.