Web Service Host is wrong

Hello everybody,
at the Web Service Navigator of the NWDS, the Web Services point to the wrong host. They do point to http://erp04:50000/ but should point to http://erp04.xxx.de:50000 where the J2EE Engine is installed. Thus i cant use the NWDS to test the WS. I also cant publish them to the UDDI, as there it does point to the wrong host as well.
So my question is, where is the host of the Web Services configured?
regards,
Markus

Thank you for the reply,
but why does the SLD has a wrong URL for the WAS Java at all? All i have done was to trigger the SLD Supplier at the Visual Admin tool in order to get the J2EE Engine listed at the SLD. Somehow somewhere there is a wrong entry, or where does it get the url from?
regards,
Markus

Similar Messages

  • Problem in calling a web service hosted on tomcat from BEA WebLogic portal

    Hi,
    I have a wsdl file for my web service which is hosted on apache tomcat 5.5(running on port : 8080). The contents of the wsdl file are-
    *<?xml version="1.0" encoding="UTF-8"?>*
    *<wsdl:definitions targetNamespace="http://soa.tutorials.serg.edu" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soa.tutorials.serg.edu" xmlns:intf="http://soa.tutorials.serg.edu" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">*
    *<!--WSDL created by Apache Axis version: 1.4*
    Built on Apr 22, 2006 (06:55:48 PDT)-->
    *<wsdl:types>*
    *<schema elementFormDefault="qualified" targetNamespace="http://soa.tutorials.serg.edu" xmlns="http://www.w3.org/2001/XMLSchema">*
    *<element name="getNums">*
    *<complexType>*
    *<sequence>*
    *<element name="n" type="xsd:int"/>*
    *<element name="m" type="xsd:int"/>*
    *</sequence>*
    *</complexType>*
    *</element>*
    *<element name="getNumsResponse">*
    *<complexType>*
    *<sequence>*
    *<element maxOccurs="unbounded" name="getNumsReturn" type="xsd:int"/>*
    *</sequence>*
    *</complexType>*
    *</element>*
    *<element name="getNums2">*
    *<complexType>*
    *<sequence>*
    *<element name="n" type="xsd:int"/>*
    *<element name="m" type="xsd:int"/>*
    *</sequence>*
    *</complexType>*
    *</element>*
    *<element name="getNums2Response">*
    *<complexType>*
    *<sequence>*
    *<element maxOccurs="unbounded" name="getNums2Return" type="xsd:int"/>*
    *</sequence>*
    *</complexType>*
    *</element>*
    *</schema>*
    *</wsdl:types>*
    *<wsdl:message name="getNums2Request">*
    *<wsdl:part element="impl:getNums2" name="parameters"/>*
    *</wsdl:message>*
    *<wsdl:message name="getNumsRequest">*
    *<wsdl:part element="impl:getNums" name="parameters"/>*
    *</wsdl:message>*
    *<wsdl:message name="getNums2Response">*
    *<wsdl:part element="impl:getNums2Response" name="parameters"/>*
    *</wsdl:message>*
    *<wsdl:message name="getNumsResponse">*
    *<wsdl:part element="impl:getNumsResponse" name="parameters"/>*
    *</wsdl:message>*
    *<wsdl:portType name="Echo">*
    *<wsdl:operation name="getNums">*
    *<wsdl:input message="impl:getNumsRequest" name="getNumsRequest"/>*
    *<wsdl:output message="impl:getNumsResponse" name="getNumsResponse"/>*
    *</wsdl:operation>*
    *<wsdl:operation name="getNums2">*
    *<wsdl:input message="impl:getNums2Request" name="getNums2Request"/>*
    *<wsdl:output message="impl:getNums2Response" name="getNums2Response"/>*
    *</wsdl:operation>*
    *</wsdl:portType>*
    *<wsdl:binding name="EchoSoapBinding" type="impl:Echo">*
    *<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>*
    *<wsdl:operation name="getNums">*
    *<wsdlsoap:operation soapAction=""/>*
    *<wsdl:input name="getNumsRequest">*
    *<wsdlsoap:body use="literal"/>*
    *</wsdl:input>*
    *<wsdl:output name="getNumsResponse">*
    *<wsdlsoap:body use="literal"/>*
    *</wsdl:output>*
    *</wsdl:operation>*
    *<wsdl:operation name="getNums2">*
    *<wsdlsoap:operation soapAction=""/>*
    *<wsdl:input name="getNums2Request">*
    *<wsdlsoap:body use="literal"/>*
    *</wsdl:input>*
    *<wsdl:output name="getNums2Response">*
    *<wsdlsoap:body use="literal"/>*
    *</wsdl:output>*
    *</wsdl:operation>*
    *</wsdl:binding>*
    *<wsdl:service name="EchoService">*
    *<wsdl:port binding="impl:EchoSoapBinding" name="Echo">*
    *<wsdlsoap:address location="http://localhost:8080/SOATest/services/Echo"/>*
    *</wsdl:port>*
    *</wsdl:service>*
    *</wsdl:definitions>*
    I created a client from the above wsdl file using ClientGen wizard in WebLogic. This client contains the follwoing classes-
    Echo.java
    EchoService.java
    EchoService_Impl.java
    Echo_Stub.java
    I created a JSP portlet and the jsp content of it is-
    String url = "http://localhost:8080/SOATest/services/Echo";
    Echo echo = new EchoService_Impl(url).getEcho();
    getNumsResponse = echo.getNums(getNums);
    I tried to call that web service from BEA weblogic portal through a JSP potlet. I got an error saying -
    *<An exception [javax.xml.rpc.ServiceException: Failed to parse WSDL http://localhost:8080/SOATest/services/Echo weblogic.wsee.wsdl.WsdlException: Failed to read wsdl file from url due to -- java.io.IOException: Error at Line:2, token:[OPENTAGBEGIN]All tags must be contained within a single element] was thrown while rendering the content at [TestEcho.jsp].*
    *javax.servlet.ServletException: javax.xml.rpc.ServiceException: Failed to parse WSDL http://localhost:8080/SOATest/services/Echo weblogic.wsee.wsdl.WsdlException: Failed to read wsdl file from url due to -- java.io.IOException: Error at Line:2, token:[OPENTAGBEGIN]All tags must be contained within a single element*
    *     at weblogic.servlet.jsp.PageContextImpl.handlePageException(PageContextImpl.java:420)*
    *     at jsp_servlet.__testecho._jspService(__testecho.java:112)*
    *     at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)*
    *     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)*
    *     at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)*
    *     Truncated. see log file for complete stacktrace*
    *javax.xml.rpc.ServiceException: Failed to parse WSDL http://localhost:8080/SOATest/services/Echo weblogic.wsee.wsdl.WsdlException: Failed to read wsdl file from url due to -- java.io.IOException: Error at Line:2, token:[OPENTAGBEGIN]All tags must be contained within a single element*
    *     at weblogic.wsee.jaxrpc.ServiceImpl.throwServiceException(ServiceImpl.java:174)*
    *     at weblogic.wsee.jaxrpc.ServiceImpl.loadWsdlDefinition(ServiceImpl.java:485)*
    *     at weblogic.wsee.jaxrpc.ServiceImpl.<init>(ServiceImpl.java:119)*
    *     at edu.serg.tutorials.soa.EchoService_Impl.<init>(Unknown Source)*
    *     at edu.serg.tutorials.soa.EchoService_Impl.<init>(Unknown Source)*
    *     Truncated. see log file for complete stacktrace*
    *weblogic.wsee.wsdl.WsdlException: Failed to read wsdl file from url due to -- java.io.IOException: Error at Line:2, token:[OPENTAGBEGIN]All tags must be contained within a single element*
    *     at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:313)*
    *     at weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:405)*
    *     at weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:391)*
    *     at weblogic.wsee.wsdl.WsdlFactory.parse(WsdlFactory.java:79)*
    *     at weblogic.wsee.wsdl.WsdlFactory.parse(WsdlFactory.java:66)*
    *     Truncated. see log file for complete stacktrace*
    *java.io.IOException: Error at Line:2, token:[OPENTAGBEGIN]All tags must be contained within a single element*
    *     at weblogic.xml.domimpl.Loader.load(Loader.java:38)*
    *     at weblogic.wsee.util.dom.DOMParser.getWebLogicDocumentImpl(DOMParser.java:122)*
    *     at weblogic.wsee.util.dom.DOMParser.getDocument(DOMParser.java:65)*
    *     at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:311)*
    *     at weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:405)*
    *     Truncated. see log file for complete stacktrace*
    *javax.xml.stream.XMLStreamException: Error at Line:2, token:[OPENTAGBEGIN]All tags must be contained within a single element*
    *     at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:206)*
    *     at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:237)*
    *     at weblogic.xml.domimpl.Loader.load(Loader.java:112)*
    *     at weblogic.xml.domimpl.Loader.load(Loader.java:73)*
    *     at weblogic.xml.domimpl.Loader.load(Loader.java:35)*
    *     Truncated. see log file for complete stacktrace*
    *Error at Line:2, token:[OPENTAGBEGIN]All tags must be contained within a single element*
    *     at weblogic.xml.babel.baseparser.BaseParser.parseProlog(BaseParser.java:417)*
    *     at weblogic.xml.babel.baseparser.BaseParser.parseSome(BaseParser.java:328)*
    *     at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:195)*
    *     at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:237)*
    *     at weblogic.xml.domimpl.Loader.load(Loader.java:112)*
    *     Truncated. see log file for complete stacktrace*
    My web service is using soap binding. I have tested it with eclipse and other tools also. It is working well and good. But when I tried to call a web service which is created and hosted on WebLogic server(running on port : 7001), I got the correct output.
    Can anyone help me out in calling a web service hosted on different server from WebLogic server.
    Thanks in advance,
    Tiijnar
    Edited by: user8715057 on Aug 13, 2009 1:11 AM

    Hi
    1. The way you are invoking the WebService deployed on Tomcat server is looks suspicious. It may be valid by adding extra ?wsdl etc into the url, but still I have not seen this way to invoke the webservice.
    2. So you used Weblogic ant task to generate client JARs by giving this WSDL. So looks like it generated the 4 classes (.java) and in addition any other classes for Request/Response xml objects.
    3. Look at the source code of EchoService.java. It should have one default empty constructor. Internally it uses the default wsdl defined in this class. You will see another constructor that takes WSDL URL as one of the parameters (QName) etc. Echo.java is the class corresponding to the Port. In the same EchoService you should see an instance method like getEcho() something like that. This Echo.java class will have methods for all the Operations defined on this Port. So the standard code snippet we use most of the times will be like this:
    EchoService myEchoService = new EchoService(); // Default it uses WSDL deployed on Tomcat at localhost:8080
    Echo myEchoPort = myEchoService.getEchoPort(); // Something along these lines.
    myEchoPort.xxxYYY(); // NOW this is the operation name that takes the input parameters and returns outputs defined as per the WSDL defintions. If the Input and Outputs are complex xml types, it will have corresponing .JAVA files with setters and getters.
    Now if this WebService is deployed on same Tomcat but on different machine or different port, you just give the full WSDL URL with that host and port in the constructor for new EchoService(...). You may need to instantiate QName object. But look at the methods generated in EchoService.java class.
    The way you are using with Impl and Stubs class may also work. I am not much famiiar with this APIs apporach. Still look at the methods generated in these classes.
    Also if you latest Sun JDK 1.6, it also has one command like wsimport. Infact if you install WLS 10.3 with Sun JDK, it should have C:\beawlp103\jdk160_05\bin\wsimport command. This will also generate client jar given a WSDL URL.
    Thanks
    Ravi Jegga

  • Is it possible to invoke external REST web service hosted in WebLogic web application from an Adobe LiveCycle Process (ES-4)

    Is it possible to invoke an external REST web-service hosted in WebLogic web application from an Adobe LiveCycle Process (ES-4) with parameters as input and manipulating the response depending on the type of parameters it gets back. Then invoking an Adobe Form and prepopulating the Form based on the response parameters? Do you have sample projects that do this invocation. The part highlighted in red is what I need examples.

    You can simply use "Execute Script" operation in Workbench and make use of java.net.URL. Below links should help :
    http://www.mkyong.com/webservices/jax-rs/restfull-java-client-with-java-net-url/
    http://www.adobe.com/devnet/livecycle/articles/building-xml.html
    http://help.adobe.com/en_US/livecycle/9.0/workbenchHelp/help.htm?content=000581.html
    Hope this helps.
    -Wasil

  • Get client ip address from Web Service hosted on OAS 10.1.2

    Hi,
    Can anyone advice how to get the client IP from a web service (java) hosted on Oracle Application Server 10.1.2.
    The below code works if the web service is hosted on Tomcat.
    MessageContext msgCtxt = MessageContext.getCurrentMessageContext();
    String IP = (String)msgCtxt.getProperty("REMOTE_ADDR");
    This code is causes built errors on the OAS 10.1.2 since it needs Axis and many other Jars. I tried to insert the jars needed but unfortunately when i was able to compile it returned a java.lang.NullPointerException.
    Is there a way to get the IP address of the client that calls this web service ?
    Or is there a way to read the SOAP request maybe i can retrieve the client IP from it.
    Thanks for your support,
    regards

    http://forums.sun.com/thread.jspa?threadID=5371892&messageID=10636223
    Thank you!

  • Web service hosted but client program cannot access it ERROR

    hi, pls help me,
    my problem is
    i have hosted the WEb services successfully, i can that in the below URL
    http://localhost/jbossws/services
    Environment is
    Jboss 4.2.2,
    jdk jdk1.5.0_12
    web service end point is EJB3
    But i when i am trying to access it through a Client i am getting some
    exceptions from JBOSS Side
    14:03:31,234 ERROR [SOAPFaultHelperJAXRPC] SOAP request exception
    javax.xml.rpc.soap.SOAPFaultException: Endpoint {http://test.main.i9check.source/}GreeterPort does not contain operation meta
    data for: sayhello
    at org.jboss.ws.core.jaxrpc.SOAPFaultHelperJAXRPC.exceptionToFaultMessage(SOAPFaultHelperJAXRPC.java:189)
    at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.exceptionToFaultMessage(SOAPFaultHelperJAXWS.java:157)
    at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.createFaultMessageFromException(SOAP11BindingJAXWS.java:104)
    at org.jboss.ws.core.CommonSOAPBinding.bindFaultMessage(CommonSOAPBinding.java:645)
    at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:430)
    at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272)
    at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189)
    at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122)
    at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:595)
    and in the client Side Exception is
    com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl cannot be cast to com.sun.xml.messaging.saaj.soap.MessageImpl
    my client code is
    package source.web.user;
    import java.net.URL;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.encoding.XMLType;
    import javax.xml.rpc.soap.SOAPFaultException;
    public class HelloClient
    static String WSDLLoc="http://127.0.0.1/i9check/TestWebServicesBean";
    static String serviceName="http://test.main.i9check.source/";
    static String portType="TestWebServicesBean";
    static String serviceEndPointAddress=WSDLLoc;
    static String nameSpace="http://test.main.i9check.source";
    public static void main(String[] args)
    try {
    URL wsUrl = new URL(WSDLLoc+"?wsdl");
    /*QName operationName = new QName(nameSpace,serviceName);
    Service service = Service.create(wsUrl,operationName);
    Call call = service.createCall(portName, operationName);*/
    /* Service lookup */
    ServiceFactory serviceFactory = ServiceFactory.newInstance();
    //Service service = serviceFactory.createService(wsUrl, new QName(serviceName));
    Service service = serviceFactory.createService(wsUrl, new QName(serviceName,"Greeter"));
    /* Service access */
    Call call = (Call) service.createCall();
    call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "http://schemas.xmlsoap.org/soap/encoding/");
    call.setProperty(Call.OPERATION_STYLE_PROPERTY, "rpc");
    call.setTargetEndpointAddress(serviceEndPointAddress);
    call.removeAllParameters();
    call.setPortTypeName(new QName(portType));
    call.setOperationName(new QName("sayhello"));
    //if (call.isParameterAndReturnSpecRequired(call.getOperationName())){
    call.addParameter("in0", XMLType.XSD_STRING,ParameterMode.IN);
    call.setReturnType(XMLType.XSD_STRING);
    /* Service invocation */
    call.invoke(new Object[] {"Rony"});
    catch (SOAPFaultException sfe){
    System.out.println("Detail "+sfe.getDetail());
    System.out.println("getFaultCode "+sfe.getFaultCode());
    System.out.println("getFaultString "+sfe.getFaultString());
    System.out.println("getFaultActor "+sfe.getFaultActor());
    catch (javax.xml.ws.soap.SOAPFaultException sfe){
    System.out.println("getCause "+sfe.getCause());
    System.out.println("getStackTrace "+sfe.getStackTrace());
    System.out.println("getFaultCode "+sfe.getFault());
    catch(Exception ex) {System.out.println("Exception "+ex.getMessage());}
    }

    I think ronyjoy may fixed this exception...
    the solution is :
    Web Service Client incompatibility between classes from JDK 6 (rt.jar) and from saaj-impl.jar, which is part of JAX-RPC distribution, causes the exception java.lang.ClassCastException: com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl cannot be cast to com.sun.xml.messaging.saaj.soap.MessageImpl
    To fix this issue, please update your saaj jars from the Snapshots download at https://saaj.dev.java.net/.
    source:http://www.basis.com/products/bbj/relnotes620.htm
    Thanks,
    --sivakumar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Accesing a web service hosted in Plumtree Portal

    I have created a process and I need to access it's PAPI web service. I
    found this easy during development, I would use the Designer's WorkSpace
    and access the service at
    http://MYSERVER:PORTNUMBER/MYPROCESS/webservices/ProcessService?WSDL.
    But, now I have deployed it in the plumtree portal this same URL format
    (obviously on a different server and port) doesn't seem to work and just
    gives me a "HTTP 400 - Page cannot be found" error. Is the URL format
    different once it is deployed through Plumtree Portal?
    Thanks,
    Martyn

    Got this working, was using the wrong domain...doh!
    Martyn wrote:
    Hi,
    I have now hit another issue, another one I didn't envision while
    testing in the designer.
    Our portal uses Active Directory to log our users in. I'm trying to use
    the process web service to start instances without the users having to
    go into the Process Portal UI. The issue is when I need to call
    createSession it asks for a Username and Password but I can only know
    the Username at this point due to using AD. Is there a way to set the
    authentication type that createSession uses?
    I'm guessing it might be something you change in the document.properties
    file, I've tried creating a preset and using skip-auth but I'm not sure
    is this is applicable or if I'm using it correctly.
    I have added "directory.default.preset.test.skip-auth=true" to the
    document.properties and restarted the Plumtree portal Identity Service.
    I try and call service.createSessionWithPreset(USERNAME, "", False,
    "test") but this still gets the error "Cannot authenticate participant".
    Thanks in advance,
    Martyn
    David Ogren wrote:
    Yes, the URL will be a little different. It's really /APPNAME/webservices/ProcessService?WSDL. In ProcessDesigner/ALBPMStudio, the APPNAME defaults to the project name. But on ALIP/ALBPM Enterprise APPNAME is the context that the workspace was deployed as. Which is, by default, portal.
    So try http://myserver/portal/webservices/ProcessService?WSDL .
    David

  • Web services hosting

    Does any one know where i can host my web services (axis) for free? I need to demo my final project.... any trial site will do.. Thanks...

    Does any one know where i can host my web services
    (axis) for free? I need to demo my final
    project.... any trial site will do.. Thanks...Does your College/University not provide this service?

  • Web service gen'd wrong?

    Using JDev 10.1.3.0.4.3673...
    The goal of this is to pass an array of objects from a java/oracle web service to a .NET client. I'm posting here because it seems there may be a JDev issue with how a web service is created.
    OK, I create a stateless session bean. Also, create a bean defining a drivelayout object; generate it's getters/setters. The session bean has a method that'll take rows from a DB, put the data into a drivelayout object, add that object to an arraylist, then do it for the next row found. I then use toArray to take the data from the Arraylist holding the drivelayout objects then return the array as the method's result..
    I then generate a web service for the session bean. No problems gen'ing the service.
    If I gen the service as document/literal I'll get a serialization error when I test the service; using the servlet gen'd in OC4J. This "should" work, but...
    If I gen the service as document/wrapped I get a correct output; an XML doc indicating an array of drivelayout elements, with the elements of drivelayout. Visual Studio 2003 can create a valid web reference to the web service and parse the data passed in correctly.
    The problem is that, for interop, I've been under the impression that doc/literal is supposed to be the way to go.
    One strange thing is the WSDL gen'd by JDev does show doc/literal
    <binding name="DriveSchedRTNSoapHttp" type="tns:DriveSchedRTN">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="readlayouts">
    <soap:operation soapAction="http://createsched//readlayouts"/>
    <input>
    <soap:body use="literal" parts="parameters"/>
    </input>
    Since the whole thing seems to work I guess I'm happy but I'm wondering if something will get "fixed" causing this to break in a future release.
    Let me know if you need any supporting docs; code, WSDL, etc.
    Thanks

    Hi,
    I don't think that JDev is generating the service incorrectly. Doc-wrapped is really just a special form of doc-lit, intended to make the input parameters of a procedure call look more like one big single input "document". There's no hard-and-fast way to spot a doc-wrapped service, other than to look at the input message for an operation. If it has one part named parameters, defined by an element rather than a complexType, then you've got a wrapped input.
    So I think you should be OK with respect to interoperability. If you have any doubts, then you can use the JDev HTTP Analyzer and WS-I testing tools integration to verify that the WSDL document and SOAP messages sent and received match the WS-I interop standards.
    Hope that helps,
    Alan.

  • PI Error calling Microsoft WCF Web Service hosted on IIS

    Hi All,
    I am trying to call a Microsoft WCF web service in PI  (also tried soapUI) but keep getting certificate error.
    I have tested the same service with Microsoft WcfTestClient and everything works..
    WCF Service Setup
    Service URL: https://hostname/servicename.svc
    Security Mode: TransportWithMessageCredential
    PI Setup 1 (Should be correct setup)
    Communication Channel
    Adapter Type: SOAP
    Uses Configure Certificate Authentification
    Uses Security Profile = Web Service Security
    Receiver Agreement
    Uses Security Procedure (Request) = Sign
    Uses Set Timestamp
    Uses Set Expiry Date = 7200
    Error: Unable to resolve the '#wsuid-body-5ad10600-3c4a-11e1-c462-005056960025' URI in the signature to compute the digest.
    In the SOAP message the references match
    <ds:Reference URI="#wsuid-body-5ad10600-3c4a-11e1-c462-005056960025">
    <SOAP:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-body-5ad10600-3c4a-11e1-c462-005056960025">
    Tried the following setups as well
    PI Setup 2
    Communication Channel
    Uses Security Profile = Web Service Security
    Receiver Agreement
    Uses Security Procedure (Request) = Sign
    Uses Set Timestamp
    Uses Set Expiry Date = 7200
    Error: The security protocol cannot verify the incoming message.
    PI Setup 3
    Communication Channel
    Uses Configure Certificate Authentification
    Error: Security processor was unable to find a security header in the message. This might be because the message is an unsecured fault or because there is a binding mismatch between the communicating parties.   This can occur if the service is configured for security and the client is not using security.
    Any help would be greatly appreciated
    Edited by: Christian Vilhelm Henriksen on Jan 26, 2012 10:13 AM

    Found the following on Microsoft which looks similar to my problem.
    http://download.microsoft.com/download/a/2/8/a2807f78-c861-4b66-9b31-9205c3f22252/dotnet35sp1readme.htm
    What it says in short
    To resolve this issue:
    Do not sign the To header.
    How do i do this in PI?

  • Letter spacing wrong when generting pdf in web service

    I have a turnkey JBoss Installation on a Windows Server 2008 R2 Standard.
    When I create a pdf document out of an doc (Office 2003 SP3) or docx (Word 2007 SP2)
    with the web services I get wrong letter spacing. If I simply create a pdf out of Microsoft Word with the
    installed Adobe Add-On on the same server the spacing is correct.
    There is no error or warning in all the log files.
    I tried already all kind of settings in the font settings, but no success.
    You can see the differences in the attachment.
    Any help would be appreciated.
    Answer: I tested a lot by myself and finally it worked. I am still not 100% sure why, but I think it is the following:
    When you have configured the turnkey installation, everything is up and running afterwards. But then you have these strange letter spacings.
    When you restart the jboss service (Windows) then it is correct afterwards.
    Message was edited by: Markus Ebel

    > Yeah, Motter Corpus is pretty distinctive. If you got a font substitution you'd know.
    But would you know if the font was not embedded (other than by looking at the file properties) when viewing on a system where it is installed?
    It looks to me as if the spacing issue is confined to the headings. Is that right? Have you previewed the page with custom tracking and kerning highlighted in ID (you'll find those settings in the preferences under Composition)? On screen shot the spacing looks very even so that's what I'd check first.
    What does the ID file look like for those same pages?
    Peter

  • Hosting web service on one Xserve and Profile Manager on another?

    Hello.
    I'm trying to get Profile Manager running on a second Xserve in our studio but I'm having an issue making connections to it from the WAN because I already have HTTP and HTTPS running on a different Xserve.
    The set up is something like this:
    Xserve001 (xs1.mydomain.com)
    - DNS
    - Web service hosting a secure site (via SSL) on port 443
    - Web service hosting a non-secure site on port 80
    Xserve002 (xs2.mydomain.com)
    - Open Directory Master
    - Profile Manager on ports 80, 443, 1640
    Since the router/firewall (between the WAN and be two Xserves on the LAN) handles port forwarding, right now, http and https connections (i.e., ports 80 & 443) are forwarded to Xserve001 for the web hosting.
    I would like to enable Profile Manager on Xserve002, but connections won't work from the WAN (via xs2.mydomain.com) because ports 80 & 443 are forwarding to Xserve001 (from within the LAN we're fine because DNS handles everything without going through the router).
    So, what would I need to do to get this to work when attempting connections from the WAN?
    Thanks,
    Kristin.

    This is tricky to do, especially since you have multiple SSL certificates involved.
    Ordinarily I'd say the easist option is to have xs1 proxy the connection to xs2 - that way all requests come into xs1 which then determines specific requests are for the profile manager and sends them across the local network.
    This will work well enough for port 80 requests, but the SSL requests will fail unless you either have a wildcard SSL certificate (e.g. for *.mydomain.com) or you have a certificate that includes both hostnames.
    Without one of these options on your server you're doomed to failure because clients will warn of a hostname mismatch in the SSL certificate (you asked for xs2.mydomain.com but I got a certificate from xs1.mydomain.com) and I don't think iOS or Mac OS X will allow you to connect in this manner.
    The other solution hinges around your internet connection, and whether you only have a single IP address or multiple. If you have multiple then you can setup a different public IP address to map to xs2. This is probably the all-round easiest solution, especially when dealing with NAT networks.

  • Invoking a web service

    Hello All,
    I am trying to invoke a web service hosted on webMethods (our R/3 being an older version, can't expose function modules as web services). I am able to generate Java proxies from the wsdl provided by webMethods. But, I found by studying the generated Java proxies/stubs that its required to send both input (import) and output (export) parameters to invoke the function module.
    To give you an example, lets say, my function module takes 3 input parameters and returns 120 output parameters. So, to invoke this function, I thought I just need 3 parameters to be supplied to make a call like invokeXYZ(param1, param2, param3). But, when I looked at the generated code, I saw that I need to supply a total of 3 + 120 parameters to invoke the web service. 120 of them are empty objects of type output parameter.
    I think either SAP isn't generating the proxy classes correctly (You don't want to supply 120 arguments to make a call) or I am doing something wrong.
    Any suggestions/comments appreciated.
    Thanks,
    Kiran

    Valery,
    Here's the wsdl. I removed most of the out parameters for brevity.
    <?xml version="1.0" encoding="UTF-8"?>
         <wsdl:definitions name="Neal_test_package_Handlers" targetNamespace="http://hpgena2d/"
                   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
                   xmlns:tns="http://hpgena2d/"
                   xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
                   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
         <wsdl:types>
            <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://localhost/Neal_test_package/Handlers/invokeZ_CCS_CUST_INFO" xmlns:tns="http://localhost/Neal_test_package/Handlers/invokeZ_CCS_CUST_INFO">
              <xsd:complexType name="__in">
                <xsd:sequence>
                  <xsd:element name="wmAlias" nillable="true" type="xsd:string"/>
                  <xsd:element name="SEL_CONTRACT_ACCOUNT" nillable="true" type="xsd:string" minOccurs="0"/>
                  <xsd:element name="SEL_LEGACY_ACCOUNT" nillable="true" type="xsd:string" minOccurs="0"/>
                </xsd:sequence>
              </xsd:complexType>
              <xsd:complexType name="__out">
                <xsd:sequence>
                  <xsd:element name="ACCOUNT_BALANCE" nillable="true" type="xsd:string"/>
                  <xsd:element name="ACCOUNT_NAME" nillable="true" type="xsd:string"/>
                  <xsd:element name="ACCOUNT_STATUS" nillable="true" type="xsd:string"/>
                  <xsd:element name="ACCOUNT_STATUS_DESC" nillable="true" type="xsd:string"/>
                  <xsd:element name="APP_CYCLING" nillable="true" type="xsd:string"/>
                </xsd:sequence>
              </xsd:complexType>
            </xsd:schema>
         </wsdl:types>
         <wsdl:message name="invokeZ_CCS_CUST_INFOInput">
              <wsdl:part name="wmAlias" type="xsd:string"/>
              <wsdl:part name="SEL_CONTRACT_ACCOUNT" type="xsd:string"/>
              <wsdl:part name="SEL_LEGACY_ACCOUNT" type="xsd:string"/>
         </wsdl:message>
         <wsdl:message name="invokeZ_CCS_CUST_INFOOutput">
              <wsdl:part name="ACCOUNT_BALANCE" type="xsd:string"/>
              <wsdl:part name="ACCOUNT_NAME" type="xsd:string"/>
              <wsdl:part name="ACCOUNT_STATUS" type="xsd:string"/>
              <wsdl:part name="ACCOUNT_STATUS_DESC" type="xsd:string"/>
         </wsdl:message>
         <wsdl:portType name="Neal_test_package_HandlersPortType">
              <wsdl:operation name="invokeZ_CCS_CUST_INFO">
                   <wsdl:input message="tns:invokeZ_CCS_CUST_INFOInput"/>
                   <wsdl:output message="tns:invokeZ_CCS_CUST_INFOOutput"/>
              </wsdl:operation>
         </wsdl:portType>
         <wsdl:binding name="Neal_test_package_HandlersBinding" type="tns:Neal_test_package_HandlersPortType">
              <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
              <wsdl:operation name="invokeZ_CCS_CUST_INFO">
                   <soap:operation soapAction=""/>
                   <wsdl:input>
                        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://hpgena2d/Neal_test_package.Handlers" use="encoded"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://hpgena2d/Neal_test_package.Handlers" use="encoded"/>
                   </wsdl:output>
              </wsdl:operation>
         </wsdl:binding>
         <wsdl:service name="Neal_test_package_HandlersService">
              <wsdl:port name="Neal_test_package_HandlersPort0" binding="tns:Neal_test_package_HandlersBinding">
                   <soap:address location="https://hpgena2d:5555/soap/FEWSController"/>
              </wsdl:port>
         </wsdl:service>
         </wsdl:definitions>
    Thanks for your time,
    Kiran

  • Soap / WS Receiver unable to call web service.

    Dear All,
    We are using PI 7.1 without EHP1
    I am unable to call a web service from SOAP/WS adapter. The scenario is HTTP to SOAP/WS.
    The web service is hosted on a decentral adapter engine(JPR) put on seperate logical system. The web service hosted on the decentral adapter engine needs to be called by Integration server. This web service call is required to execute a java call(RMI) for third party system.
    Http post----
    >Integration Server -
    >JPR(decenteral adapter engine)
    Following are the steps to configure web service.
    1. Import service interface from Enterprise service repository in NWDS
    2. Generate bean skeleton
    3. Deploy the service on JPR
    4. Configure End point from Web service Administrator
    Following is the Soap configuration that i have done
    1. Transport protocol - HTTP
    2. Soap protocol- Soap 1.1
    3. Target URL--http://<host>:<port>/sapws/com.sap/WmsItemEAR_WmsItem_EJB_WmsItemImplBean/WmsItem/WmsItem_Port?wsdl&mode=ws_policy
    when I try the WSDL Url in the browser I get an xml file.
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://test/nitin/service" xmlns:b0="http://test/nitin/service/WmsItem_PortBindingNS"><import namespace="http://test/nitin/service/WmsItem_PortBindingNS" location="http:/<host>:50000/sapws/com.sap/WmsItemEAR_WmsItem_EJB_WmsItemImplBean/WmsItem/WmsItem_Port?wsdl=binding&amp;mode=ws_policy"/><service name="WmsItem"><port name="WmsItem_Port" binding="b0:WmsItem_WmsItem_PortBinding"><address xmlns="http://schemas.xmlsoap.org/wsdl/soap/" location="http://<host>:50000/sapws/com.sap/WmsItemEAR_WmsItem_EJB_WmsItemImplBean/WmsItem/WmsItem_Port"/></port></service></definitions>
    Please let me know what may be going wrong or missing to complete the configuration.
    Warm regards
    Nitin

    Mike,
    I updated the 3 xml files with the name and password and I get a different error now ...
    WARNING: Unable to connect to URL: https://dssd001.ca.boeing.com:443/bartinterface/SOAP/resSetup.cgi due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: javax.net.ssl.SSLException: SSL handshake failed: X509CertChainIncompleteErr
    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: X509CertChainIncompleteErr
    I am using the simple text based username auth, but jdev for some reason still goes and looks for the x509 cert? How did you get yours to work?
    Thanks
    Sriram

  • ORA-29532 error when invoking SSL web services using UTL_DBWS

    Web Service gurus,
    The WSDL for web services is as follows -
    <definitions name="Webservice" targetNamespace="http://webservice.airclic.com/">

    <types>

    <xs:schema targetNamespace="http://webservice.airclic.com/" version="1.0">
    <xs:element name="Exception" type="tns:Exception"/>
    <xs:element name="listenForEvents" type="tns:listenForEvents"/>
    <xs:element name="listenForEventsResponse" type="tns:listenForEventsResponse"/>
    <xs:element name="sendAuthenticationResponse" type="tns:sendAuthenticationResponse"/>
    <xs:element name="sendAuthenticationResponseResponse" type="tns:sendAuthenticationResponseResponse"/>
    <xs:element name="upsertTask" type="tns:upsertTask"/>
    <xs:element name="upsertTaskResponse" type="tns:upsertTaskResponse"/>

    <xs:complexType name="upsertTask">

    <xs:sequence>
    <xs:element minOccurs="0" name="task" type="tns:Task"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Task">

    <xs:complexContent>

    <xs:extension base="tns:PlatformObject">

    <xs:sequence>
    <xs:element minOccurs="0" name="status" type="tns:status"/>
    <xs:element minOccurs="0" name="assignee" type="xs:string"/>
    <xs:element minOccurs="0" name="assigneeUserId" type="xs:string"/>
    <xs:element minOccurs="0" name="name" type="xs:string"/>
    <xs:element minOccurs="0" name="type" type="xs:string"/>
    <xs:element minOccurs="0" name="creationTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="updateTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="startTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="endTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="source" type="tns:source"/>
    <xs:element minOccurs="0" name="notes" type="xs:string"/>
    <xs:element minOccurs="0" name="priority" type="xs:int"/>
    <xs:element minOccurs="0" name="penalized" type="xs:boolean"/>
    <xs:element minOccurs="0" name="hasSLA" type="xs:boolean"/>
    <xs:element minOccurs="0" name="location" type="tns:Location"/>
    <xs:element minOccurs="0" name="windowStartTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="windowEndTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="signee" type="xs:string"/>
    <xs:element minOccurs="0" name="signature" type="xs:base64Binary"/>
    <xs:element minOccurs="0" name="customerId" type="xs:string"/>
    <xs:element minOccurs="0" name="travelTime" type="xs:int"/>
    <xs:element minOccurs="0" name="expirationTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="parentId" type="xs:long"/>
    <xs:element minOccurs="0" name="externalTimezone" type="xs:string"/>
    <xs:element minOccurs="0" name="localTimeOffset" type="xs:long"/>
    <xs:element minOccurs="0" name="consignee" type="xs:string"/>
    <xs:element minOccurs="0" name="assignmentWindowStartTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="assignmentWindowEndTimestamp" type="xs:long"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="PlatformObject">

    <xs:sequence>
    <xs:element name="id" type="xs:string"/>
    <xs:element name="externalId" type="xs:string"/>
    <xs:element name="revision" type="xs:long"/>
    <xs:element name="platformDateCreated" type="xs:dateTime"/>
    <xs:element name="platformDateUpdated" type="xs:dateTime"/>
    <xs:element name="objectName" type="xs:string"/>
    <xs:element maxOccurs="unbounded" name="extendedAttributes" type="tns:ExtendedAttribute"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Location">

    <xs:sequence>
    <xs:element minOccurs="0" name="name" type="xs:string"/>
    <xs:element minOccurs="0" name="description" type="xs:string"/>
    <xs:element minOccurs="0" name="type" type="xs:string"/>
    <xs:element minOccurs="0" name="address" type="tns:Address"/>
    <xs:element minOccurs="0" name="position" type="tns:Position"/>
    <xs:element minOccurs="0" name="geofenceId" type="xs:long"/>
    <xs:element minOccurs="0" name="capcity" type="xs:int"/>
    <xs:element minOccurs="0" name="contact" type="xs:string"/>
    <xs:element minOccurs="0" name="email" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Address">

    <xs:sequence>
    <xs:element minOccurs="0" name="addressLine" type="xs:string"/>
    <xs:element minOccurs="0" name="addressLine2" type="xs:string"/>
    <xs:element minOccurs="0" name="city" type="xs:string"/>
    <xs:element minOccurs="0" name="secondaryCity" type="xs:string"/>
    <xs:element minOccurs="0" name="subdivision" type="xs:string"/>
    <xs:element minOccurs="0" name="postalCode" type="xs:string"/>
    <xs:element minOccurs="0" name="country" type="xs:string"/>
    <xs:element minOccurs="0" name="phone" type="xs:string"/>
    <xs:element minOccurs="0" name="freeform" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Position">

    <xs:sequence>
    <xs:element name="latitude" type="xs:double"/>
    <xs:element name="longitude" type="xs:double"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ExtendedAttribute">

    <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="value" type="xs:anyType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="upsertTaskResponse">

    <xs:sequence>
    <xs:element minOccurs="0" name="task" type="tns:Task"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Exception">

    <xs:sequence>
    <xs:element minOccurs="0" name="message" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="listenForEvents">

    <xs:sequence>
    <xs:element minOccurs="0" name="listenParams" type="tns:ListenParams"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ListenParams">

    <xs:sequence>
    <xs:element name="queueName" type="xs:string"/>
    <xs:element name="resendLast" type="xs:boolean"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="listenForEventsResponse">

    <xs:sequence>
    <xs:element maxOccurs="unbounded" minOccurs="0" name="events" type="tns:Event"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Event">

    <xs:sequence>
    <xs:element name="id" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AuthenticationRequestEvent">

    <xs:complexContent>

    <xs:extension base="tns:RequestEvent">

    <xs:sequence>
    <xs:element name="username" type="xs:string"/>
    <xs:element minOccurs="0" name="password" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RequestEvent">

    <xs:complexContent>

    <xs:extension base="tns:Event">

    <xs:sequence>
    <xs:element name="correlationId" type="xs:string"/>
    <xs:element name="response" type="tns:Response"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Response">

    <xs:sequence>
    <xs:element name="correlationId" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AuthenticationResponse">

    <xs:complexContent>

    <xs:extension base="tns:Response">

    <xs:sequence>
    <xs:element name="success" type="xs:boolean"/>
    <xs:element name="username" type="xs:string"/>
    <xs:element minOccurs="0" name="password" type="xs:string"/>
    <xs:element minOccurs="0" name="firstName" type="xs:string"/>
    <xs:element minOccurs="0" name="lastName" type="xs:string"/>
    <xs:element minOccurs="0" name="email" type="xs:string"/>
    <xs:element minOccurs="0" name="active" type="xs:boolean"/>
    <xs:element minOccurs="0" name="timeZone" type="xs:string"/>
    <xs:element minOccurs="0" name="group" type="xs:string"/>
    <xs:element minOccurs="0" name="role" type="xs:string"/>
    <xs:element minOccurs="0" name="errorCode" type="xs:string"/>
    <xs:element minOccurs="0" name="errorMessage" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="DispatchEvent">

    <xs:complexContent>

    <xs:extension base="tns:Event">

    <xs:sequence>
    <xs:element name="type" type="tns:eventType"/>
    <xs:element minOccurs="0" name="previousTask" type="tns:Task"/>
    <xs:element name="changeTask" type="tns:Task"/>
    <xs:element minOccurs="0" name="newTask" type="tns:Task"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="sendAuthenticationResponse">

    <xs:sequence>
    <xs:element minOccurs="0" name="authenticationResponse" type="tns:AuthenticationResponse"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="sendAuthenticationResponseResponse">
    <xs:sequence/>
    </xs:complexType>

    <xs:simpleType name="status">

    <xs:restriction base="xs:string">
    <xs:enumeration value="NULL"/>
    <xs:enumeration value="UNASSIGNED"/>
    <xs:enumeration value="ASSIGNED"/>
    <xs:enumeration value="RECEIVED"/>
    <xs:enumeration value="ACCEPTED"/>
    <xs:enumeration value="REJECTED"/>
    <xs:enumeration value="IN_PROGRESS"/>
    <xs:enumeration value="POSTPONED"/>
    <xs:enumeration value="COMPLETED"/>
    <xs:enumeration value="CANCELED"/>
    <xs:enumeration value="CLEARED"/>
    <xs:enumeration value="EXPIRED"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="source">

    <xs:restriction base="xs:string">
    <xs:enumeration value="NULL"/>
    <xs:enumeration value="DISPATCH"/>
    <xs:enumeration value="SYSTEM"/>
    <xs:enumeration value="ENDUSER"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="eventType">

    <xs:restriction base="xs:string">
    <xs:enumeration value="TaskCreated"/>
    <xs:enumeration value="TaskUpdated"/>
    <xs:enumeration value="TaskAssigned"/>
    <xs:enumeration value="TaskDeleted"/>
    <xs:enumeration value="TaskStatusChanged"/>
    <xs:enumeration value="TaskConflicted"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:schema>
    </types>

    <message name="Webservice_listenForEvents">
    <part element="tns:listenForEvents" name="listenForEvents"/>
    </message>

    <message name="Webservice_sendAuthenticationResponseResponse">
    <part element="tns:sendAuthenticationResponseResponse" name="sendAuthenticationResponseResponse"/>
    </message>

    <message name="Webservice_sendAuthenticationResponse">
    <part element="tns:sendAuthenticationResponse" name="sendAuthenticationResponse"/>
    </message>

    <message name="Webservice_upsertTaskResponse">
    <part element="tns:upsertTaskResponse" name="upsertTaskResponse"/>
    </message>

    <message name="Exception">
    <part element="tns:Exception" name="Exception"/>
    </message>

    <message name="Webservice_upsertTask">
    <part element="tns:upsertTask" name="upsertTask"/>
    </message>

    <message name="Webservice_listenForEventsResponse">
    <part element="tns:listenForEventsResponse" name="listenForEventsResponse"/>
    </message>

    <portType name="Webservice">

    <operation name="listenForEvents" parameterOrder="listenForEvents">
    <input message="tns:Webservice_listenForEvents"/>
    <output message="tns:Webservice_listenForEventsResponse"/>
    <fault message="tns:Exception" name="Exception"/>
    </operation>

    <operation name="sendAuthenticationResponse" parameterOrder="sendAuthenticationResponse">
    <input message="tns:Webservice_sendAuthenticationResponse"/>
    <output message="tns:Webservice_sendAuthenticationResponseResponse"/>
    <fault message="tns:Exception" name="Exception"/>
    </operation>

    <operation name="upsertTask" parameterOrder="upsertTask">
    <input message="tns:Webservice_upsertTask"/>
    <output message="tns:Webservice_upsertTaskResponse"/>
    <fault message="tns:Exception" name="Exception"/>
    </operation>
    </portType>

    <binding name="WebserviceBinding" type="tns:Webservice">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="listenForEvents">
    <soap:operation soapAction=""/>

    <input>
    <soap:body use="literal"/>
    </input>

    <output>
    <soap:body use="literal"/>
    </output>

    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>

    <operation name="sendAuthenticationResponse">
    <soap:operation soapAction=""/>

    <input>
    <soap:body use="literal"/>
    </input>

    <output>
    <soap:body use="literal"/>
    </output>

    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>

    <operation name="upsertTask">
    <soap:operation soapAction=""/>

    <input>
    <soap:body use="literal"/>
    </input>

    <output>
    <soap:body use="literal"/>
    </output>

    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>
    </binding>

    <service name="Webservice">

    <port binding="tns:WebserviceBinding" name="WebservicePort">
    <soap:address location="https://webservice.mp.b.airclic.com:443/webservice/product/fieldservice/v1/Webservice"/>
    </port>
    </service>
    </definitions>
    Following is the pl/sql code using UTL_DBWS
    DECLARE
    l_service UTL_DBWS.service;
    l_call UTL_DBWS.call;
    l_wsdl_url VARCHAR2(32767);
    l_namespace VARCHAR2(32767);
    l_service_qname UTL_DBWS.qname;
    l_port_qname UTL_DBWS.qname;
    l_operation_qname UTL_DBWS.qname;
    l_input_params UTL_DBWS.anydata_list;
    soap_request xmltype;
    l_result xmltype;
    result_output VARCHAR2(32767);
    BEGIN
    l_wsdl_url := 'https://webservice.mp.b.airclic.com/webservice/product/fieldservice/v1/Webservice?WSDL';
    l_namespace := 'http://webservice.airclic.com/';
    dbms_output.put_line ('1');
    l_service_qname := UTL_DBWS.to_qname(l_namespace, 'Webservice');
    dbms_output.put_line ('2');
    l_port_qname := UTL_DBWS.to_qname(l_namespace, 'WebservicePort');
    dbms_output.put_line ('3');
    l_operation_qname := UTL_DBWS.to_qname(l_namespace, 'sendAuthenticationResponse');
    dbms_output.put_line ('4');
    l_service := UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
    service_name => l_service_qname);
    dbms_output.put_line ('5');
    l_call := UTL_DBWS.create_call (
    service_handle => l_service,
    port_name => l_port_qname,
    operation_name => l_operation_qname);
    dbms_output.put_line ('6');
    UTL_DBWS.SET_PROPERTY(l_call,'USERNAME',<username to access wsdl>);
    dbms_output.put_line ('7');
    UTL_DBWS.SET_PROPERTY(l_call,'PASSWORD',<password>);
    dbms_output.put_line ('8');
    utl_dbws.set_property(l_call,'OPERATION_STYLE', 'document');
    dbms_output.put_line ('9');
    soap_request := xmltype.createxml('<?xml version="1.0" encoding="UTF-8"?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <ns2:sendAuthenticationResponse xmlns:ns2="http://webservice.airclic.com/">
    <authenticationResponse>
    <correlationId>4646735802698040711:[email protected]</correlationId>
    <success>true</success>
    <username>changlanih</username>
    <password>abcd1234</password>
    <firstName>hero</firstName>
    <lastName>changlani</lastName>
    <email>[email protected]</email>
    <active>true</active>
    <timeZone>eastern</timeZone>
    <group>Northeast</group>
    <role>Service Manager</role>
    </authenticationResponse>
    </ns2:sendAuthenticationResponse>
    </S:Body>
    </S:Envelope>');
    l_result := UTL_DBWS.invoke ( l_call,soap_request);
    UTL_DBWS.release_call (call_handle => l_call);
    UTL_DBWS.release_service (service_handle => l_service);
    result_output := l_result.getstringval;
    dbms_output.put_line('web svc output ===> ' || result_output);
    END;
    Following is the error from pl/sql code
    1
    2
    3
    4
    DECLARE
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.IllegalAccessException: error.build.wsdl.model: oracle.j2ee.ws.common.tools.api.WsdlValidationException:
    Failed to read WSDL from https://webservice.mp.b.airclic.com/webservice/product/fieldservice/v1/Webservice?WSDL:
    HTTP connection error code is 401
    ORA-06512: at "SYS.UTL_DBWS", line 193
    ORA-06512: at "SYS.UTL_DBWS", line 190
    ORA-06512: at line 20
    Notes
    The program fails at following line of code -
    l_service := UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
    service_name => l_service_qname);
    Web services are SSL.
    The WSDL is at https location and needs username/password for access. The username/password to access WSDL are set using UTL_DBWS.SET_PROPERTY
    To access the SSL site, I have imported the CA in Oracle Wallet, JVM home and JDK home.
    Can anyone tell me what am I doing wrong here. I am not able to even establish connection to web service host.
    This is very frustrating - Oracle has no examples on how to access a SSL Web Service (that needs authentication) from Database.
    This is effecting our project deadlines ......... any help would be greatly appreciated.
    Thanks.

    Hi,
    I presume your Web Service needs HTTP (BASIC?) Authentication.
    All this needs is setting the following 2 properties, which as can be seen, you are setting....
    UTL_DBWS.set_property(l_call, 'USERNAME', '<username>');
    UTL_DBWS.set_property(l_call, 'PASSWORD', '<pwd>');
    This should work as long as your DBWS Callout Utility was downloaded from OTN after June 2008, and it's version is atleast 10.1.3.1.
    Following is a sample code snippet that was tested successfully for this :
    Declare
    l_service UTL_DBWS.service;
    l_call UTL_DBWS.call;
    l_result sys.XMLTYPE;
    l_request sys.XMLTYPE;
    BEGIN
    l_service := UTL_DBWS.create_service(null);
    l_call := UTL_DBWS.create_call(l_service);
    UTL_DBWS.set_target_endpoint_address(l_call, 'http://xxx.oracle.com:8888/basic/MyWebService1SoapHttpPort');
    UTL_DBWS.set_property(l_call, 'USERNAME', 'username');
    UTL_DBWS.set_property(l_call, 'PASSWORD', 'pwd');
    UTL_DBWS.set_property(l_call, 'OPERATION_STYLE', 'document');
    UTL_DBWS.set_property(l_call, 'SOAPACTION_USE', 'true');
    UTL_DBWS.set_property(l_call, 'SOAPACTION_URI', 'http://xxx.oracle.com:8888/basic/MyWebService1SoapHttpPort');
    l_request := XMLTYPE('<Z_CENTRICITY_GET_DOCLIST
    xmlns:urn="urn:sap-com:document:sap:rfc:functions">' ||
    '<I_INCLUDE_OLD_VERSIONS></I_INCLUDE_OLD_VERSIONS>' ||
    '<I_INSTITUTION>0001</I_INSTITUTION>' ||
    '<I_PATIENT_NR>0000000181</I_PATIENT_NR>' ||
    '</Z_CENTRICITY_GET_DOCLIST>');
    l_result := UTL_DBWS.invoke(l_call, l_request);
    UTL_DBWS.release_call (call_handle => l_call);
    UTL_DBWS.release_service (service_handle => l_service);
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line(sqlcode || ' ' || sqlerrm);
    END;
    Hope this helps,
    Yogesh

  • Error invoking SSL web service using pl sql UTL_HTTP

    Web Services Gurus,
    I am invoking a secure web service based on the following WSDL file from a pl/sql program using UTL_HTTP package.
    The web service is secure and prompts for authentication.
    The web services certificate is imported in Oracle Wallet on Database Server.
    I am listing the WSDL file, the pl/sql code and error message as follows -
    1. The WSDL file -
    <definitions
    name="Webservice"
    targetNamespace="http://webservice.airclic.com/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://webservice.airclic.com/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    >
    <types>
    <xs:schema targetNamespace="http://webservice.airclic.com/" version="1.0" xmlns:tns="http://webservice.airclic.com/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Exception" type="tns:Exception"/>
    <xs:element name="sendAuthenticationResponse" type="tns:sendAuthenticationResponse"/>
    <xs:element name="sendAuthenticationResponseResponse" type="tns:sendAuthenticationResponseResponse"/>
    <xs:complexType name="AuthenticationResponse">
    <xs:complexContent>
    <xs:extension base="tns:Response">
    <xs:sequence>
    <xs:element name="success" type="xs:boolean"/>
    <xs:element name="username" type="xs:string"/>
    <xs:element minOccurs="0" name="password" type="xs:string"/>
    <xs:element minOccurs="0" name="firstName" type="xs:string"/>
    <xs:element minOccurs="0" name="lastName" type="xs:string"/>
    <xs:element minOccurs="0" name="email" type="xs:string"/>
    <xs:element minOccurs="0" name="active" type="xs:boolean"/>
    <xs:element minOccurs="0" name="timeZone" type="xs:string"/>
    <xs:element minOccurs="0" name="group" type="xs:string"/>
    <xs:element minOccurs="0" name="role" type="xs:string"/>
    <xs:element minOccurs="0" name="errorCode" type="xs:string"/>
    <xs:element minOccurs="0" name="errorMessage" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DispatchEvent"></xs:complexType>
    <xs:complexType name="sendAuthenticationResponse">
    <xs:sequence>
    <xs:element minOccurs="0" name="authenticationResponse" type="tns:AuthenticationResponse"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="sendAuthenticationResponseResponse">
    <xs:sequence/>
    </xs:complexType>
    <xs:simpleType name="status"></xs:simpleType>
    <xs:simpleType name="source"></xs:simpleType>
    <xs:simpleType name="eventType"></xs:simpleType>
    </xs:schema>
    </types>
    <message name="Webservice_sendAuthenticationResponse">
    <part name="sendAuthenticationResponse" element="tns:sendAuthenticationResponse"/>
    </message>
    <message name="Webservice_sendAuthenticationResponseResponse">
    <part name="sendAuthenticationResponseResponse" element="tns:sendAuthenticationResponseResponse"/>
    </message>
    <portType name="Webservice">
    <operation name="sendAuthenticationResponse" parameterOrder="sendAuthenticationResponse">
    <input message="tns:Webservice_sendAuthenticationResponse"/>
    <output message="tns:Webservice_sendAuthenticationResponseResponse"/>
    <fault name="Exception" message="tns:Exception"/>
    </operation>
    </portType>
    <binding name="WebserviceBinding" type="tns:Webservice">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="sendAuthenticationResponse">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>
    </binding>
    <service name="Webservice">
    <port name="WebservicePort" binding="tns:WebserviceBinding">
    <soap:address location="https://host.airclic.com:443/webservice/product/fieldservice/v1/Webservice"/>
    </port>
    </service>
    </definitions>
    2. The pl/sql code that calls the web service operation sendAuthenticationResponse
    procedure send_auth_response
    as
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    resp XMLType;
    i integer;
    begin
    -- initiate wallet for AirClic certificate
    dbms_output.put_line ('1');
    utl_http.set_wallet('file:/etc/oracle/wallet','<wallet password>');
    -- create soap request
    dbms_output.put_line ('2');
    soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:sendAuthenticationResponse xmlns="https://host.airclic.com:443/webservice/product/fieldservice/v1/Webservice" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <success xsi:type="xsd:boolean">true</success>
    <username xsi:type="xsd:string">changlanih</username>
    <password xsi:type="xsd:string">abcd1234</password>
    <firstName xsi:type="xsd:string">hero</firstName>
    <lastName xsi:type="xsd:string">changlani</lastName>
    <email xsi:type="xsd:string">[email protected]</email>
    <active xsi:type="xsd:boolean">true</active>
    <timeZone xsi:type="xsd:string">eastern</timeZone>
    <group xsi:type="xsd:string">Northeast</group>
    <role xsi:type="xsd:string">Service Manager</role>
    <errorCode xsi:type="xsd:string"></errorCode>
    <errorMessage xsi:type="xsd:string"></errorMessage>
    </ns1:sendAuthenticationResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>';
    -- request that exceptions are raised for error Status Codes
    dbms_output.put_line ('3');
    utl_http.set_response_error_check (true);
    -- allow testing for exceptions like UTL_HTTP.http_server_error
    dbms_output.put_line ('4');
    utl_http.set_detailed_excp_support (true);
    --utl_http.set_transfer_timeout (ln_time_out);
    dbms_output.put_line ('5');
    utl_http.set_body_charset ('UTF-8');
    -- begin request
    dbms_output.put_line ('5.5');
    http_req:= utl_http.begin_request
    ('https://host.airclic.com:443/webservice/product/fieldservice/v1/Webservice/sendAuthenticationResponse', ------ is the url correct here ?
    'POST',
    'HTTP/1.1'
    dbms_output.put_line ('6');
    utl_http.set_authentication(http_req, '<username for webservice>', '<password for webservice user>');
    dbms_output.put_line ('7');
    utl_http.set_persistent_conn_support (http_req, false);
    dbms_output.put_line ('8');
    utl_http.set_header(http_req, 'Content-Type', 'text/xml'); -- since we are dealing with plain text in XML documents
    dbms_output.put_line ('9');
    utl_http.set_header(http_req, 'Content-Length', length(soap_request));
    dbms_output.put_line ('10');
    utl_http.set_header(http_req, 'SOAPAction', ''); -- required to specify this is a SOAP communication
    dbms_output.put_line ('11');
    utl_http.write_text(http_req, soap_request);
    dbms_output.put_line ('12');
    http_resp := utl_http.get_response(http_req);
    -- debug messages
    DBMS_OUTPUT.PUT_LINE('-------utl_http.get_response---------------------');
    DBMS_OUTPUT.PUT_LINE('http_resp.status_code is :'||http_resp.status_code );
    DBMS_OUTPUT.PUT_LINE('http_resp.reason_phrase is :'||http_resp.reason_phrase);
    DBMS_OUTPUT.PUT_LINE('http_resp.http_version is :'||http_resp.http_version);
    DBMS_OUTPUT.PUT_LINE('http_resp.private_hndl is :'||http_resp.private_hndl);
    DBMS_OUTPUT.PUT_LINE('-------utl_http.get_response----------------------');
    utl_http.read_text(http_resp, soap_respond);
    dbms_output.put_line ('13');
    utl_http.end_response(http_resp);
    dbms_output.put_line ('14');
    resp := XMLType.createXML(soap_respond);
    dbms_output.put_line ('15');
    resp := resp.extract('/soap:Envelop/soap:Body/child::node()',
    'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"');
    i:=0;
    dbms_output.put_line ('16');
    loop
    dbms_output.put_line(substr(soap_respond, 1 + i * 255, 250));
    i := i + 1;
    if (i * 250) > length(soap_respond) then
    exit;
    end if;
    end loop;
    exception
    when utl_http.request_failed then
    dbms_output.put_line('request failed: ' || utl_http.get_detailed_sqlerrm);
    when utl_http.http_server_error then
    dbms_output.put_line('server error: ' || utl_http.get_detailed_sqlerrm);
    when utl_http.http_client_error then
    dbms_output.put_line('client error: ' || utl_http.get_detailed_sqlerrm);
    when others then
    dbms_output.put_line(sqlerrm);
    end send_auth_response;
    3. Output when I run the send_auth_response procedure
    Connecting to the database cpdev.
    1
    2
    3
    4
    5
    5.5
    ORA-12560: TNS:protocol adapter error
    Process exited.
    Disconnecting from the database cpdev.
    Comments -
    The web service operation only has input message. The input message consists of a complex type as seen in WSDL.
    Questions -
    1. This is my first attempt in invoking a web service from pl/sql program. Is the code in SOAP body correct as mapped to the complex type in WSDL ?
    2. As seen from the dbms_out - the last message before ORA-12560 is 5.5, that means the call is erroring at following code line -
    http_req:= utl_http.begin_request ------ what am I doing wrong here ?
    3. The web service is SSL as seen from WSDLand needs a username/password for access - which is being performed by following code line -
    utl_http.set_authentication(http_req, '<username for webservice>', '<password for webservice user>'); ------- is that correct ?
    4. I am not using any proxy server - should I be using it ? When is it necessary to use proxy ?
    Appreciate any help.
    Thanx.

    Oracle is hosted by HOST A - this is where the pl/sql program resides.
    The Web Service being accessed by pl/sql program is hosted by HOST B and there are 4 firewalls in between.
    Oracle was not even able to establish connection to web services host.
    Escalated the issue with networking folks and they resolved the connectivity problem.
    Hope that helps.

Maybe you are looking for

  • Multiple CRM systems to one R/3 system

    Hi all,    Is it possible to connect Two CRM systems to the same R/3 system? My gut feeling is, it is impossible to do that. Am I correct or is there a way to do it. Any help will be highly appreciated... Thanks Jothi

  • Externally edited files are corrupted

    I'm trying to put together a book of images and I quite like what iPhoto offers. However, after importing the pics into the book template and arranging them, they needed some cropping and tweaking. I double click to open the images in Photoshop CS5,

  • Setting custom ringtone in iPhone

    Hi, I am using a iPhone 4S. I truely believe Apple iPhone is a great technology built by experts. In spite of, being a great Smart phone, why the setting of custom ringtone, which is very basic feature in any kind of phone, is so complicated? Can't t

  • Migration assistant for mail

    Having trouble getting the migration assistant to transfer files from my iBook to my new MacBook. I decided to move files manually. What I would like to ask is does anyone know the files to transfer so that mail will have all the log in files for the

  • Cirrus Logic CS4206A (AB 11) in 15" macbook pro i7 on Vista x64 not working

    I am trying to get the audio working on my brand new macbook pro 15" i7 on Vista x64. It says the chip is Cirrus Logic CS4206A (AB 11) but there are no drivers available on the internet. I'm using the BootCamp 3.1 that came with the MBP's Snow Leopar