Calling a RestFUL service from a SOA composite

Hi,
I had thought a simple google search would have bought up the answer to this question but it dosn’t seem to have done so.
I have to create a composite in 11.1.1.5 which has to call a restful sercice. Can anyone point me in the direction of a tutorial which describes how to do this.
Thanks
Robert

That article looks intresting but:
1. The pictures don't seem to be loading for me. Since they show a few of the steps this is quite important
2. It talks about the httpbinding adapter which was removed when the article was written. This seems to be back now
3. It uses tonnes and tonnes of Java.
Can I conclude from this that it is not possible to call restful services from SOA without writing Java code?

Similar Messages

  • [OSB1031] how to call a RESTful service from OSB

    Hi all,
    I need to call a RESTful service from OSB.
    The RESTful URL service is http://xxx.xxx.xxx.xxx/api/ordertracer and has been implemented in IIS.
    The service accepts a xml string message as input and returns an HttpStatusCode.
    So I started defining a business service (named OrderTracer):
    Service Type: Any XML Service
    Endpoint URI: http://xxx.xxx.xxx.xxx/api/ordertracer
    HTTP Request Method:POST
    Or should I define instead a business service (named OrderTracer2) as following ?
    Service Type = Messaging Service
    Request Message Type = None
    Response Message Type = Text
    Endpoint URI: http://xxx.xxx.xxx.xxx/api/ordertracer
    HTTP Request Method:POST
    When I try to test the business service (the first one named OrderTracer) from OSB test console I got an error:
    <con:metadata xmlns:con="http://www.bea.com/wli/sb/test/config">
    <tran:headers xsi:type="http:HttpResponseHeaders" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <http:Connection>close</http:Connection>
    <http:Content-Length>315</http:Content-Length>
    <http:Content-Type>text/html; charset=us-ascii</http:Content-Type>
    <http:Date>Wed, 03 Oct 2012 14:26:39 GMT</http:Date>
    <http:Server>Microsoft-HTTPAPI/2.0</http:Server>
    </tran:headers>
    <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">3</tran:response-code>
    <tran:response-message xmlns:tran="http://www.bea.com/wli/sb/transports">Not Found</tran:response-message>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">us-ascii</tran:encoding>
    <http:http-response-code xmlns:http="http://www.bea.com/wli/sb/transports/http">404</http:http-response-code>
    </con:metadata>
    Could I test that RESTful service from business service test console or should I test it from a service callout within a proxy service ?
    Thanks in advance for any hints!
    ferp

    Hi,
    There's a sample on JSON REST here...
    http://java.net/projects/oraclesoasuite11g/downloads/download/OSB/osb-206-JSONREST.zip
    For other samples, see this...
    http://java.net/projects/oraclesoasuite11g/pages/OSB
    Cheers,
    Vlad

  • [OSB1031] how to call a RESTful service from OSB with authentication

    Hi all,
    I called successfully a RESTful service from OSB.
    We have a business service, named OrderTracer, that wraps the call to the RESTful service.
    The RESTful service requires an authentication so we are trying to find out how the OSB business service should authenticate itself against the RESTful service.
    In addition the RESTful service accepts username/password coded as base64.
    So we defined a Service Account with static resource type and we added the reference to this service account in the business service.
    But when the OSB business service calls the RESTful service, we got an error:
    <fault>
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-380000</con:errorCode>
    <con:reason>Unauthorized</con:reason>
    <con:location>
    <con:node>RouteNode</con:node>
    <con:path>response-pipeline</con:path>
    </con:location>
    </con:fault>
    </fault>
    Does anyone have any hint ?
    Any clue would be of great help.
    Thanks in advance
    ferp

    Hi,
    There's a sample on JSON REST here...
    http://java.net/projects/oraclesoasuite11g/downloads/download/OSB/osb-206-JSONREST.zip
    For other samples, see this...
    http://java.net/projects/oraclesoasuite11g/pages/OSB
    Cheers,
    Vlad

  • Error when calling simple restful service from SOA 11G

    Hi'
    I have a URL for simple restful service
    http://xxxxx:857/swift/v2/EMPIDChanges/{bookmarkDate}
    GET method
    I am able to invoke this from IE and This URL is also accessible in UNIX server where SOA server is deployed.
    http://xxxxx:857/swift/v2/EMPIDChanges/2012-11-28%2005:57:49
    I am using HTTP Binding adapter,
    This is what goes in the composite.xml
    <reference name="ff" ui:wsdlLocation="ff.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/http/AssetID/Test_AssetID_VL/ff#wsdl.interface(Request_Response_ptt)"/>
    <binding.ws port="http://xmlns.oracle.com/pcbpel/adapter/http/AssetID/Test_AssetID_VL/ff#wsdl.endpoint(ff/Request_Response_pt)"
    location="ff.wsdl" supports="http">
    <property name="http.verb" type="xs:string" many="false">GET</property>
    <property name="endpointURI" type="xs:string" many="false">http://xxxxx:857/swift/v2/EMPIDChanges/{bookmarkDate}</property>
    <property name="http.payload" type="xs:string" many="false">url-encoded</property>
    <property name="oracle.webservices.auth.username" type="xs:string" many="false" override="may">Test1</property>
    <property name="oracle.webservices.auth.password" type="xs:string" many="false" override="may">Test1</property>
    </binding.ws>
    however I am getting error
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    -<part name="summary">
    <summary>oracle.fabric.common.FabricInvocationException: Unable to access the following endpoint(s): REPLACE_WITH_ACTUAL_URL</summary>
    </part>
    -<part name="detail">
    <detail>Unable to access the following endpoint(s): REPLACE_WITH_ACTUAL_URL</detail>
    </part>
    -<part name="code">
    <code>null</code>
    </reference>
    Please advice,
    Thanks,
    Yatan

    WS Binding: exception durign SOAP invocation: java.util.NoSuchElementException
    Looks like the error is in the data sent to or expected from the service in your composite. Check that audit logs and composite flow to make sure your soap message when using soapui matches what you are working with in soa suite.

  • JavaScript Call into RESTful service from a remote web page

    I am trying to insert a SharePoint list item title into non-SharePoint web page.
    Using the following script:
    $.support.cors = true;
    $(document).ready(function () {
    $.ajax(
    url: "https://mysite/_api/web/lists/getbytitle('Testing Issues List')/items(5)?$select=Title",
    type: "GET",
    headers: { "accept": "application/json; odata=verbose" },
    success : function (data) {
    $('#intext').append(data.d.Title);
    error: function (err) {
    alert(JSON.stringify(err));
    When I run it, I receive the following error:
    Error: Access Denied
    While I generally understand that I need to provide some authentication, I cannot find anywhere how to do it.
    Any thoughts?
    Thanks

    To authenticate:
    http://sharepoint.stackexchange.com/questions/79803/how-to-authenticate-user-in-sharepoint-online-using-javascript
    ar soapDataString = "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'> \
    <soap:Body> \
    <Login xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
    <username>username</username> \
    <password>password</password> \
    </Login> \
    </soap:Body> \
    </soap:Envelope>"
    // Call web service
    $.ajax({
    url: "http://mywebsitename:2355/_vti_bin/authentication.asmx",
    type: "POST",
    dataType: "xml",
    data: soapDataString,
    success: resultsFeedback,
    contentType: "text/xml; charset=\"utf-8\""
    function resultsFeedback(xData, status) {
    alert(xData);
    alert(status);
    you can of course use a variety of methods to get sharepoint's list data - for example using the REST interface:
    function getListItem(url, listname, id, complete, failure) {
    $.ajax({
    url: url + "/_api/web/lists/getbytitle('" + listname + "')/items(" + id + ")",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: function (data) {
    complete(data);
    error: function (data) {
    failure(data);

  • How to call a web service from BPEL that requires HTTP basic authentication

    Hi All,
    I need to calling some Web Services from BPEL (SOA 10.1.3.1 production running on XP machine). The services require HTTP basic authentication.
    I have tried adding httpUsername and httpPassword properties to the ParnterLink, and I see in BPEL Console that they are deployed by checking the descriptor page. But I still get a SOAP fault, HTTP 401: Unathenticated.
    I have also tried using basicHeaders (from memory) = credentials, httpBasicUsername, and httpBasicPassword. Same result.
    I have done a packet trace using Ethereal, and the headers do not seem to contain the userid and password at all.
    Can anyone help?
    Thanks,
    Mark Nelson

    Thanks Bas,
    I have resolved the issue. The provider of the Web Service had not configured if for Basic Authentication. For some reason it worked when they tested, or maybe the did not test. The only thing I had to change was to use:
    <property name="basicHeaders">credentials</property>
    <property name="basicUsername">WMDATA</property>
    <property name="basicPassword">WMDATA</property>
    Instead of:
    <property name="httpUsername">WMDATA</property>
    <property name="httpPassword">WMDATA</property>
    I don’t know why this is, maybe because it is an Axis Web Service.
    Sorry for wasting your time.
    Regards Pete

  • Invoking RESTful service from OSB

    Hi
    I need to invoke Restful service from OSB11g in order to do that...
    1. I have created Business service with the end point of the RESTful service.
    2. Running the Business service and provided the XML as input in Transport Header--> query-string.. i got the response as bellow:
    <serviceResponse returnCode="-1">
    <statusMessage messageId="Exception" messageType="" severityCode="E">
    <text>
    Required input not supplied. Please revisit your input values and try again.
    </text>
    </statusMessage>
    </serviceResponse>
    Is this the correct way i am doing or am i missing something..???
    Thanks
    Vasu

    Hi Vasu,
    did you solve your issue ?
    I have a similar scenario where I need to call a RESTful service from OSB.
    The RESTful URL service is http://xxx.xxx.xxx.xxx/api/ordertracer and has been implemented in IIS.
    The service accepts a xml string message as input and returns an HttpStatusCode.
    So I started defining a business service (named OrderTracer):
    Service Type: Any XML Service
    Endpoint URI: http://xxx.xxx.xxx.xxx/api/ordertracer
    HTTP Request Method:POST
    I tested it from business service test console:
    - in Transport
    -> query-string I put my input xml
    -> http-method: POST
    -> Content-Type: text/xml
    but on execute I got an error:
    <con:metadata xmlns:con="http://www.bea.com/wli/sb/test/config">
    <tran:headers xsi:type="http:HttpResponseHeaders" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <http:Connection>close</http:Connection>
    <http:Content-Length>315</http:Content-Length>
    <http:Content-Type>text/html; charset=us-ascii</http:Content-Type>
    <http:Date>Wed, 03 Oct 2012 15:07:38 GMT</http:Date>
    <http:Server>Microsoft-HTTPAPI/2.0</http:Server>
    </tran:headers>
    <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">3</tran:response-code>
    <tran:response-message xmlns:tran="http://www.bea.com/wli/sb/transports">Not Found</tran:response-message>
    <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">us-ascii</tran:encoding>
    <http:http-response-code xmlns:http="http://www.bea.com/wli/sb/transports/http">404</http:http-response-code>
    </con:metadata>
    May I ask you to provide me any hints ?
    Thanks in advance for any help
    ferp

  • SOA Suite 11.1.1.4.0 - Unable to invoke REST service from BPEL

    Hi all,
    I am trying to invoke a REST service from BPEL.
    I am supposed to call the following REST URL:
    http://apolloiserdev.corp.webex.com/ExportComplianceWS/webresources/ECCheck/emailDomainCheck/[email protected]
    In order to achieve this:
    1. I created an empty composite
    2. Added a HTTP Binding as external reference
         2.1 In the HTTP Binding wizard, I copied the above URL in 'Endpoint'
         2.2 Operation Name --> request-response
         2.3 Verb --> GET
         2.4 Created XSD for Req and resp and added those in 'Messages'
    Now, when I deploy and test this process, I get the following error messages:
    Unable to access the following endpoint(s): REPLACE_WITH_ACTUAL_URL
    Unable to access the following endpoint(s): http://apolloiserdev.corp.webex.com/ExportComplianceWS/webresources/ECCheck/emailDomainCheck/[email protected]/ExportComplianceWS/webresources/ECCheck/emailDomainCheck/[email protected]
    However, when I open the same URL using my web browser or test it using Mozilla REST client, I get a success response.
    Am I missing out something in my BPEL process?
    Regards,
    Arindam

    Not sure if this helps. But for rest based services we need to create a WSDL which has http protocol and get/post method like below
    types>
    <message name="HttpPostParamIn">
    <part name="param1" type="xsd:string"/>
    <part name="param2" type="xsd:string"/>
    </message>
    <message name="HttpPostParamOut">
    <part name="Body" element="get:Request"/>
    </message>
    <portType name="HttpPostParamPortType">
    <operation name="PostData">
    <input message="tns:HttpPostParamIn"/>
    <output message="tns:HttpPostParamOut"/>
    </operation>
    </portType>
    <binding name="HttpPostParamBinding" type="tns:HttpPostParamPortType">
    <http:binding verb="POST"/>
    <operation name="PostData">
    <http:operation location="/EchoApp/echo"/>
    <input>
    <mime:content type="application/x-www-form-urlencoded"/>
    </input>
    <output>
    <mime:mimeXml part="Body"/>
    </output>
    </operation>
    </binding>
    <service name="PostParamService">
    <port name="HttpPostParamPort" binding="tns:HttpPostParamBinding">
    <http:address location="http://localhost:7001"/>
    </port>
    </service>
    <plnk:partnerLinkType name="PostParamService">
    <plnk:role name="PostParamServiceProvider">
    <plnk:portType name="tns:HttpPostParamPortType"/>
    </plnk:role>
    </plnk:partnerLinkType>
    definitions>
    And then use this wsdl to invoke it from BPEL.like any other wsdl using partner link.

  • OSB proxy service Calling OSB proxy service from BPEL

    Dear team,
    Wehave a requirement to call a Wsdl based OSB proxy service with sb protocol from SOA Composite from BPEL process.
    We created a wsdl based OSB proxyservice with sb protocol and deployed to OSB development server.
    We tried to export the wsdl and corresponding xsd files. sbconfig.jar got created.
    When we extracted the sbconfig file and placed the wsdl and xsd into the SOA composite.
    When we are trying to create a partnerlink, that OSB proxy service wsdl is not showing up.
    Please suggest.
    How to call OSB proxy service from BPEL..

    Hi,
    Here either you need to change the protocol from 'sb' to http or use the Direct Binding in soa-composite.
    please refer this links:
    Can a business service call a proxy service in OSB
    http://biemond.blogspot.in/2009/03/calling-osb-services-from-bpel.html
    BPEL to OSB using sb transport protocol
    Thanks,

  • Error while calling a bpel service from OSB

    Hi
    I try to call a BPEL service from OSB 10.3 and use these bpel url's
    ormi://<hostname>:<rmi port>/<domain name>/<process name>
    opmn://<hostname>:<opmn port>/<oc4j instance name>/<domain name>/<process name>
    and I create a static service account with ocj4admin
    when I try to run the BusinessService then I got this error
    WARNING: Exception returned by remote server: {0}
    com.evermind.server.rmi.RMIConnectionException: Disconnected: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -91204487
    54896609940, local class serialVersionUID = -916876369326528164
    at com.evermind.server.rmi.RmiCallQueue.notifyQueuedThreads(RmiCallQueue.java:70)
    at com.evermind.server.rmi.RMIClientConnection.notifyQueuedThreads(RMIClientConnection.java:208)
    at com.evermind.server.rmi.RMIClientConnection.resetState(RMIClientConnection.java:147)
    at com.evermind.server.rmi.RMIConnection.receiveDisconnect(RMIConnection.java:236)
    at com.evermind.server.rmi.RMIClientConnection.receiveDisconnect(RMIClientConnection.java:176)
    at com.evermind.server.rmi.RMIConnection.handleOrmiCommand(RMIConnection.java:208)
    Please help me out.I am using SOA Server 10.1.3.4 with jdk 1.4.
    Regards
    Ayush
    Edited by: Ayush fujitsu on Apr 6, 2010 3:36 AM

    Hi i have followed the following steps which is specified in this thread
    You need to follow below steps...
    add a java parameter to the OSB server. Go to domains\osb_domain\bin folder and edit the setDomainEnv file and add this line to this file. set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME% -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
    Step 2 is to replace the bpel jars in the bpel transport ear. Go folder osb_10.3\lib\transports and open bpel10gtransport.ear and replace the following jar files orabpel.jar, orabpel-common.jar , xmlparserv2.jar and oc4jclient.jar with the ones you can find in the soa suite 10.1.3 home.
    But still i am getting the error.
    I am using WLS (10.0).Is it compatible with bpel-10g protocol, because i have already called a sync BPEL process with http protocol and it worked?This thread talks about WLS(9.2)
    Regards
    Ayush

  • Unable to call a web service from BPEL Project

    I am running my BPEL PM on Windows XP SP3. The platform is weblogic 9.2, SOA 10.1.3.1.
    I created a simple BPEL project to call a web service and when I run the project from BPELConsole I getting the following error:
    exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )
    I am able to call this web service from soapUI client.
    Any help or hint is appreciated.
    Thanks

    I have had this issue before when calling a .NET service, it was firewall related. I didn't actually make the fix so I can't tell you exactly how it was fixed on the server. I hope this info makes sense as this this the info I got from the IT boys
    I’ve install this tool on your computer:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=05C2C932-B15A-4990-B525-66380743DA89&displaylang=en
    which does that:
    Firewall Client for ISA Server can be optionally installed on client computers protected by Microsoft ISA Server. Firewall Client for ISA Server provides enhanced security, application support, and access control for client computers. It provides authentication for Winsock applications that use TCP and UDP, supports complex secondary protocols, and supplies user and application information to the ISA Server logs.
    When a client computer running Firewall Client for ISA Server makes a request, the destination is evaluated by the Firewall Client software, and external requests are directed to the ISA Server computer for handling. No specific routing infrastructure is required. Firewall Client sends user information transparently with each request, enabling you to create a firewall policy on the ISA Server computer with rules that use the authentication credentials presented by the client. ISA Server allows you to configure automatic discovery for Firewall client computers, using a WPAD entry in DNS or DHCP to obtain correct Web proxy settings for clients, depending on their location.
    and I’ve added a exception in IE to the tools-lan settings-advanced-exceptions to be creditworks.* Did this by modifying the GPO that applies to your account, so all the users in National Office should have that exception.
    hope you can use this.
    cheers
    James

  • Calling Siebel web service from BPEL flow

    Hi,
    I am using Jdeveloper 10.1.3 to build BPEL.
    Does anyone have a sample to call Siebel web service from BPEL flow?
    I cannot make web service call success by adding partner link from BPEL flow.
    Error:
    Error Code: 10944642 Error Message: Error: Inbound SOAP Message - Session Token is missing or invalid or has expired
    My understanding is Siebel needs special soap header.
    I can build webservice proxy to call siebel web service, it works fine by overwrite the soap header function. However, I cannot make it work from BPEL flow.
    Does anyone have this experience?
    Thanks

    Anyone has insight on this? Is it possible to call a WCF service with NTLM authentication from SOA.
    Thanks!
    Sandeep

  • Error while calling a Web Service from a Session Bean

    I am trying to call a Web Service from a Session Bean using an Axis client, but I am getting the next exception:
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
         java.rmi.RemoteException: org/apache/axis/client/Service
         at com.sun.corba.ee.internal.javax.rmi.CORBA.Util.wrapException(Util.java:364)
         at javax.rmi.CORBA.Util.wrapException(Util.java:277)
         at com.ing.mx.seguros.siniestros.litigios.ejb._SisaServiceRemote_Stub.invocarWebSericeProveedorLegal(Unknown Source)
         at com.ing.mx.seguros.siniestros.litigios.proxy.SisaWsProxy.solicitarApoyoLegal(SisaWsProxy.java:132)
         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:324)
         at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
         at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
         at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
         at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
         at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
         at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:158)
         at com.iplanet.ias.web.WebContainer.service(WebContainer.java:850)Thanks for any help provided.
    Does any one have insights about it?

    Hi Swapna,
    from your screenshot it seems that you actually try to call the service in your Data Source Expression field. You should set path to the WSDL file here actually - this could be either URL to SAP or to filesystem, as Anton suggested (this could be faster). Have you created endpoint binding for your service in transaction SOAMANAGER? If yes, then simply download the corresponding WSDL with binding or copy the URL which leads to it. But also test whether you are able to retrieve the WSDL without logging into SAP (close all browser windows and then open a new one otherwise session ID from other browser windows can be reused).
    If you have to give username and password, then setup anonymous alias in transaction SICF, for example.
    Pleas, check my previous post on the same subject here: Re: BCM7 IVR : SOAP request for client identification in CRM .
    Maybe it could help.
    Regards,
    Dawood.

  • QName error while calling a web service from Sourcing

    I need to call a web service from Sourcing script. The web service team has provided us the WSDL and I have generated the required stubs using wsimport and packaged the required java classes in a custom JAR. Now while calling a web method using this jar from my script, I am getting and exception. The exception message that I printed out was this:
    Caught exception e with msg Connection IO Exception. Check nested exception for details. (Connection
    IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
    java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).)
    The same jar and same code works fine when called from a standalone java program.
    I am not using or creating QName anywhere in my script. The only place where QName is used is in the generated java class and there it is created from the correct namespace URL
    Can anyone please help me out in figuring out what is the issue?

    This is the stack trace of the error:
    #2.0 #2014 05 08 09:02:30:915#+00#Error#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#
    #BC-ESI-WS-JAV-RT#webservices_lib#C000CF8242BA4B800000002100002648#2174850000000005#sap.com/E-Sourcing-Server#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#VAC53324#89##D811EE96D68E11E3C9E0000000212F82#3cf7fe38d68f11e3c963000000212f82#3cf7fe38d68f11e3c963000000212f82#0#Thread[RequestHandler.RqThread: fullsave,5,Dedicated_Application_Thread]#Plain##
    Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
        java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
    [EXCEPTION]
    com.sap.engine.services.webservices.espbase.client.bindings.exceptions.TransportBindingException: Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
        java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.writeSOAPRequestMessage(SOAPTransportBinding.java:256)
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1318)
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:991)
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:945)
        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 $Proxy2539.grantOrganizationRoles(Unknown Source)
    I tested the same custom JAR, that is deployed in Sourcing, separately using a standalone java program and there it gave back the correct SOAP response

  • How to call COPY web service from sharepoint in SAP

    Hello Experts,
    I want to call COPY web service from SharePoint in SAP  web dynpro / JAVA application.
    However, when I try to connect to web service and download wsdl using   http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
    it results in Unauthorized error and doesnt complete the setup. Detail error is :
     Error occurred while downloading WSIL file. Error message: Deserializing xml stream  http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
    failed.com.sap.engine.services.webservices.espbase.wsdl.exceptions.WSDLException: Invalid Response Code: (401) Unauthorized. The requested URL was:"Connect to 
    http:// <hostname:port>/_vti_bin/copy.asmx?wsdl , used user to connect: userid"
    I am trying to connect with server user account. Any idea on what authorizations might be required or any help on the scenario .
    -Abhijeet

    Here's an example on how to delete a list item, hopefully this helps
    package com.jw.sharepoint.examples;
    import java.io.File;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Properties;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import com.microsoft.sharepoint.webservices.CopySoap;
    import com.microsoft.sharepoint.webservices.GetListItems;
    import com.microsoft.sharepoint.webservices.GetListItemsResponse;
    import com.microsoft.sharepoint.webservices.ListsSoap;
    import com.microsoft.sharepoint.webservices.UpdateListItems.Updates;
    import com.microsoft.sharepoint.webservices.UpdateListItemsResponse.UpdateListItemsResult;
    public class SharePointDeleteListItemExample extends SharePointBaseExample {
     private String delete = null;
     private String deleteListItemQuery = null;
     private String queryOptions = null;
     private static final Log logger = LogFactory.getLog(SharePointUploadDocumentExample.class);
     private static Properties properties = new Properties();
     public Properties getProperties() {
      return properties;
      * @param args
     public static void main(String[] args) {
      logger.debug("main...");
      SharePointDeleteListItemExample example = new SharePointDeleteListItemExample();
      try {
       example.initialize();
       CopySoap cp = example.getCopySoap();
       example.uploadDocument(cp, properties.getProperty("copy.sourceFile"));
       ListsSoap ls = example.getListsSoap();
       example.executeQueryAndDelete(ls);
      } catch (Exception ex) {
       logger.error("Error caught in main: ", ex);
     public void executeQueryAndDelete(ListsSoap ls) throws Exception {
      Date today = Calendar.getInstance().getTime();
      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
      String formattedDate = simpleDateFormat.format(today);
      String queryFormatted = String.format(deleteListItemQuery,formattedDate);  
      GetListItems.QueryOptions msQueryOptions = new GetListItems.QueryOptions();
      GetListItems.Query msQuery = new GetListItems.Query();
      msQuery.getContent().add(createSharePointCAMLNode(queryFormatted));
      msQueryOptions.getContent().add(createSharePointCAMLNode(this.queryOptions));
      GetListItemsResponse.GetListItemsResult result = ls.getListItems(
        properties.getProperty("folder"), "", msQuery, null, "",
        msQueryOptions, "");
      writeResult(result.getContent().get(0), System.out);
      Element element = (Element) result.getContent().get(0);
      NodeList nl = element.getElementsByTagName("z:row");
      for (int i = 0; i < nl.getLength(); i++) {
       Node node = nl.item(i);
       String id = node.getAttributes().getNamedItem("ows_ID").getNodeValue();
       String fileRefRelativePath = node.getAttributes().getNamedItem("ows_FileRef").getNodeValue();
       logger.debug("id: " + id);
       logger.debug("fileRefRelativePath: " + fileRefRelativePath);
       String fileRef = properties.getProperty("delete.FileRef.base") + fileRefRelativePath.split("#")[1];
       logger.debug("fileRef: " + fileRef);
       deleteListItem(ls, properties.getProperty("folder"), id, fileRef);
     public void deleteListItem(ListsSoap ls, String listName, String listId, String fileRef) throws Exception {
      String deleteFormatted = String.format(delete, listId, fileRef);  
      Updates u = new Updates();
      u.getContent().add(createSharePointCAMLNode(deleteFormatted));
      UpdateListItemsResult ret = ls.updateListItems(listName, u);
      writeResult(ret.getContent().get(0), System.out);
     public void initialize() throws Exception {
      logger.info("initialize()...");
      properties.load(getClass().getResourceAsStream("/SharePointDeleteListItemExample.properties"));
      super.initialize();
      this.delete = new String(readAll(new File(this.getClass().getResource("/Delete.xml").toURI())));
      this.deleteListItemQuery = new String(readAll(new File(this.getClass().getResource("/DeleteListItemQuery.xml").toURI())));
      this.queryOptions = new String(readAll(new File(this.getClass().getResource("/QueryOptions.xml").toURI())));
    Brandon James SharePoint Developer/Administrator

Maybe you are looking for