Complex Types & Web Services

Portal 7 allows you to create portlets from WSDL files. I have a web
service that has an interface which returns a org.w3c.dom.Document. The
portlet wizard won't generate code from this interface since it uses a
"complex type". Is there any way to allow this type of generation other
than hand coding all the wsdl_*.java files in the jar file?
kwc

JAXB can be used to solve your problem. Rather than trying return your own types directly use JAXB to explain your return types in a schema;
Example:
public class MyType {
int id=-1;
int noOfObjects=0;
String something;
@XmlElement(nillable = true) //Java annotation to return list
List<String> participant;
public Interaction() {
participant= new ArrayList<String>();
something=�hi�;
public List<String> get() { return participant; }
public void set(String newpart) {participant.add(newpart);}
public String getCrux() { return �OK�; }
public void setCrux(String something) { this. something = something; }
@XmlAttribute
public int getId() { return 0; }
public void setId(int id) {  }
@XmlAttribute
public int getNoOfObjects() { return noOfObjects; }
public void setNoOfObjects(int id) { this.noOfObjects =noOfObjects; }
@WebService()
public class MyService {
@WebMethod
public Results MyType (@WebParam(name = "id") String id) {
return new MyType();
When defining your own class make sure you have "get" and "set" methods for all types.(JAXB needs this)

Similar Messages

  • Hard-coding complex type web service parameter

    Hi,
    I am trying to populate a drop-down list with data returned from a web service. The web service requires one parameter, but it is a complex type with many elements. I don't need any user input, I want to set the the parameter values programatically. Is this something that can be done with a web service data control?
    I know that I can edit the action binding and specify a parameter, but I'm not sure how to do this when the parameter is a complex type.
    I hope I am explaining this in a way that makes sense. I am fairly new to both Jdeveloper and web services.
    I am using JDeveloper 11.1.2.0.0
    Thanks.

    Thanks for the link. The article is from 2006 and I was under the impression that there was more support for complex types now. Maybe in my case I am better off using a web service proxy?

  • Urgent: Calling a WebLogic document type Web Service

    We have created an one-way, document type web service that works fine with the
    clientgen client. When sending the same SOAP message to the service from another
    client, it fails with: javax.xml.soap.SOAPException: failed to receive message:
    The other client recieves an HTTP 500.
    The signature for the service method is:
    public void getDiag(Diagnostic diag)
    Diagnostic is a complex type generated by autotype from a schema.
    The failing client builds the SOAP message and sends it to the WebLogic service
    using HttpURLConnection with the request method set to POST and content-type to
    text/xml.

    Is there any error on the server?
    Did the method on the end componet invoked?
    If you are using WLS 8.1, its better to use SAAJ
    instead of plain http url connection. Something like:
    SOAPConnectionFactory factory =
    SOAPConnectionFactory.newInstance();
    SOAPConnection connection =
    factory.createConnection();
    SOAPMessage response =
    connection.call( request, targetURL );
    Here is a working example:
    http://manojc.com/?sample23
    RouterHandler.java
    Regards,
    -manoj
    http://manojc.com
    "Steve Watson" <[email protected]> wrote in message
    news:3ec13eeb$[email protected]..
    >
    We have created an one-way, document type web service that works fine withthe
    clientgen client. When sending the same SOAP message to the service fromanother
    client, it fails with: javax.xml.soap.SOAPException: failed to receivemessage:
    >
    The other client recieves an HTTP 500.
    The signature for the service method is:
    public void getDiag(Diagnostic diag)
    Diagnostic is a complex type generated by autotype from a schema.
    The failing client builds the SOAP message and sends it to the WebLogicservice
    using HttpURLConnection with the request method set to POST andcontent-type to
    text/xml.

  • Test Connection fails for VC system of type Web Service

    Hi All
    I ve created a VC system of the type Web Service in Portal. In this VC system, I have given Url of the Enterprise Service that I want to use in VC.
    (for eg: http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/sdef_ECC_SALESORDER002QR/wsdl11/ws_policy/document?sap-client=800)
    In the next step, I did user mapping for the VC user that will be consuming this Enterprise Service.
    The system was created successfully but when I did ‘Connection Tests’ , I got the following exception:
    “Test Details:
    The test consists of the following steps:
    1. Retrieve the default alias of the system
    2. Check the connection to the backend application using the connector defined in this system object
    Results
    Retrieval of default alias successful
    Connection failed. Make sure that Single Sign-On is configured correctly”
    Do I need to do any more configurations before I can use such ES portal system in my VC work studio ?
    I understand that I have provided little information about the exception thrown by Portal.
    I kindly request you to feel free in asking any other details about the same.
    Regards
    Kapil S Kamble

    Hi Natty
    thanks for your immediate reply.
    I followed your instructions and created iView of the type URL and set the fetch mode property to 'server side' as told.
    Initially, I gave 'http://www.sap.com' as the Url and I was successful in opening the site.
    Later, when I gave Enterprise Service url and tried to preview the iView, I got the following exception:
    *'http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/sdef_ECC_SALESORDER002QR/wsdl11/ws_policy/document?sap-client=800
    Error # 401'*
    I ll need to give username and password. But how do i give them as parameters?
    Please note, these parameteres are appended to the Url. So, I fear that if url of Enterprise service is changed, then it wont open.
    what do you think ?
    Kapil

  • Error: Error #2170  Connection Type: Web Service

    Hi all,
    In BO I have changed the external address on DNS say abc.com
    Now when I try to access the dashboard internally it gives the error trying to access xyz.com which was previous external ip.
    The error I get is
    To access external data, add a cross-domain policy file to the external data web server.
    For more information, on the Adobe website, see the article "Cross-domain Policy File Specification".
    If the problem persists, contact the file creator or your system administrator.
    Error: Error #2170
    Connection Type: Web Service
    File URL: http://abc.com...
    External Data URL: http://xyz.com...."

    May be in connections, you have hardcoded the server as xyz.com. It is always advisable to use relative url so that the servername and port is resolved in runtime.
    Also, check in CMC > Applications > Web Service > Properties what is the server name specified ? Is it still the old one ?

  • Do we need the Loadrunner vuser type "web services"?

    We are planning to benchmark XI 3.1 using Load runner scripts.
    Do we need the Loadrunner vuser type "web services" to benchmark XI 3.1 with SAP Portal, Infoview, Xcelsius, Live Office, and QAAWS?
    NOTE: Our customer is using Xcelsius Dashboards against WebIntelligence latest Instances.
    Regards,
    - Gabriel

    Apache is a webserver, Tomcat is a "servlet-container", which it not a webserver. For fast setup, you can develop your Java-web-app with only Tomcat, which saves you the hassle of configuring AJP13 connectors... But they are significantly different....

  • Need help with DOC type web service

    hi,
    I am trying to write a simple message style ( doc type ) web service but no success so far. I have tried to search for examples but no use. I already implemented some simple RPC style web services like calculator etc and able to use them. I am more interested in the DOC type ( which sends SOAP message and receives SOAP message back). Can Anybody give me an example for implementing this type of service ( very-simple say HellowWorld ) or point me to some website . I am not able to generate the response envelope. I can write the client program which will send a SOAP Envelope to this services with one parameter NAME and the services should return Hello Name but in a SOAP envelope form. I can create a SOAP message in this Client using SOAPConnection and MessageFactory etc. Your help will be really appreciated. There is very little stuff about webservices on the internet as well on this forum.
    Thanks
    Vinod

    Hello kwilding2,
    Thanks for the quick response and pointing to some useful websites. I downloaded the code from web service essentials BUT all the examples are using SOAP RPC calls. They create a call object and call one of the service methods and a response is returned. I am little confused about this stuff. I am looking for something which returns the response in a SOAP envelope for which i think i need to use JAXM API which I already have downloaded. I have created a client which composes a SOAP envelope using SOAPConnection and other MessageFactory classes etc and can send this SOAP envelope to a web service. In return I want the web service to give the SOAP envelope.
    I have gone thru xmethods.net and picked the following stock quote request and response:
    Sample Request envelope:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:getQuote xmlns:ns1="urn:xmethods-delayed-quotes" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <symbol xsi:type="xsd:string">IBM</symbol>
    </ns1:getQuote>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Sample Response Envelope:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:getQuoteResponse xmlns:ns1="urn:xmethods-delayed-quotes" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <return xsi:type="xsd:float">133.625</return>
    </ns1:getQuoteResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I also want the things in this order. This webservice at xmethods just returns the price for a stock, so how they say it returns this Response Envelope. Is this Envelope something implied. I am getting more confused.
    any help will be appreciated.
    Thanks
    Vinod

  • JAX-rpx document literal type web services

    I was trying to create a Document centric Web service. I followed all the steps in the document "Patterns and Designs for Building Document based Web Services" available at java.sun.com. I created the XSD's and WSDL files (top down approach). i used the following command of wscompile tool to generate the java source code.
    wscompile -import -d build/classes -keep -s build/src -model build/model.xml.gz
    to publich the web service on a server.
    When the tool generates the code, the parameters for the method are the elements of the schema, instead of being an object, specified in the WSDL.
    // This class was generated by the JAXRPC SI, do not edit.
    // Contents subject to change without notice.
    // JAX-RPC Standard Implementation (1.1.2_01, build R29)
    // Generated source version: 1.1.2
    package com.galaxyplus.tranentry.services;
    public interface IPurchaseOrder extends java.rmi.Remote {
        public com.galaxyplus.tranentry.services.PurchaseOrderStatus acceptPO(com.galaxyplus.tranentry.services.Address billTo, java.util.Calendar createDate, com.galaxyplus.tranentry.services.LineItem[] items, java.lang.String poID, com.galaxyplus.tranentry.services.Address shipTo) throws
             java.rmi.RemoteException;
    }It was supposed to be
    // This class was generated by the JAXRPC SI, do not edit.
    // Contents subject to change without notice.
    // JAX-RPC Standard Implementation (1.1_03, build R65)
    package com.examples.docliteral;
    public interface IPurchaseOrder extends java.rmi.Remote {
        public com.examples.docliteral.PurchaseOrderStatus
             acceptPO(com.examples.docliteral.PurchaseOrder parameters) throws
                 java.rmi.RemoteException;
    }Does any one have any inputs on this. I am using the same example as in the Document.
    Thanks

    More Information
    PurchaseOrder.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Dan Carnell (Fiserv) -->
    <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="uri:X" targetNamespace="uri:X">
         <element name="PurchaseOrderDocument" type="tns:PurchaseOrder"/>
         <complexType name="Address">
              <sequence>
                   <element name="street" type="string" nillable="false"/>
                   <element name="city" type="string" nillable="false"/>
                   <element name="state" type="string" nillable="false"/>
                   <element name="zipCode" type="string" nillable="false"/>
              </sequence>
         </complexType>
         <complexType name="LineItem">
              <sequence>
                   <element name="itemname" type="string" nillable="false"/>
                   <element name="price" type="decimal" nillable="false"/>
                   <element name="quantity" type="int" nillable="false"/>
              </sequence>
         </complexType>
         <complexType name="PurchaseOrder">
              <sequence>
                   <element name="billTo" type="tns:Address" nillable="false"/>
                   <element name="createDate" type="dateTime" nillable="false"/>
                   <element name="items" type="tns:LineItem" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
                   <element name="poID" type="string" nillable="false"/>
                   <element name="shipTo" type="tns:Address" nillable="false"/>
              </sequence>
         </complexType>
    </schema>Status.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="uri:X" targetNamespace="uri:X">
         <element name="Status" type="tns:PurchaseOrderStatus"/>
         <complexType name="PurchaseOrderStatus">
              <sequence>
                   <element name="orderid" type="string" nillable="false"/>
                   <element name="timestamp" type="string" nillable="true"/>
              </sequence>
         </complexType>
    </schema>Abstract.wsdl
    <!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Dan Carnell (Fiserv) -->
    <definitions xmlns:tns="urn:poservice" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="uri:X" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    targetNamespace="urn:poservice" name="POService">
         <types>
              <xs:schema>
                   <xs:import namespace="uri:X" schemaLocation="PurchaseOrder.xsd"/>
                   <xs:import namespace="uri:X" schemaLocation="Status.xsd"/>
              </xs:schema>
         </types>
         <message name="IPurchaseOrder_acceptPO">
              <part name="parameters" element="ns1:PurchaseOrderDocument"/>
         </message>
         <message name="IPurchaseOrder_acceptPOResponse">
              <part name="result" element="ns1:Status"/>
         </message>
         <portType name="IPurchaseOrder">
              <operation name="acceptPO">
                   <input message="tns:IPurchaseOrder_acceptPO"/>
                   <output message="tns:IPurchaseOrder_acceptPOResponse"/>
              </operation>
         </portType>
    </definitions>poservice.wsdl
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns:tns="urn:poservice"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    targetNamespace="urn:poservice" name="POService">
         <import namespace="urn:poservice" location="Abstract.wsdl"/>
         <binding name="IPurchaseOrderBinding" type="tns:IPurchaseOrder">
              <soap:binding style="document"
                             transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="acceptPO">
                   <soap:operation/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
         </binding>
         <service name="POService">
            <port name="IPurchaseOrderPort" binding="tns:IPurchaseOrderBinding">
              <soap:address location="http://127.0.0.1:8080/docliteralfromjava/jaxrpc"/>
            </port>
         </service>
    </definitions>Thanks

  • NULL ARRAY PROBLEM... in DOCUMENT/LITERAL type web service

    let method signature is like this,
    public int ABC(String[] a);
    i am sending an null array from client side, like
    ABC(null);
    but on web service layer i am getting an array with length 1
    and element of this array is null.
    for example, {null} where i should get simple null, not an array with null element.

    My guess is that it is because .NET defaults to generating a document style interface whereas JDeveloper defaults to generating an RPC style interface. The end result is that JDeveloper wraps the document interface in something that looks document like - thus your client. To see how to handle this right now, check out this sample - you have to parse the XML:
    http://otn.oracle.com/tech/webservices/htdocs/series/net/content.html
    In the preview of JDeveloper 9.0.3 which is due quite soon - next few weeks roughly (crossing my fingers) - JDeveloper will wrap .NET document based Web services in a much more elegant wrapper - giving you exactly what you are looking for - a method called Validate rather than a vector of Elements.
    What I don't understand in your sample, however, is that you have WSDL generated from JDeveloper versus WSDL generated from .NET. Did you also do an implementation of the validate method in Java too?
    Mike.

  • Return type Web Service

    Hello,
    I have a web service created in Java:
    @WebMethod
    public Vector<Data> getData();
    This is how I am connecting to the web service:
    public function connectWS():void{
         var cr:CallResponder = new CallResponder();
         cr.addEventListener(ResultEvent.RESULT, connectWSResult);
         cr.token = myWebService.getData();
    My vect variable above does not provide me with the correct Data object. vect is assigned null. How ever if I have:
    public function connectWSResult(event:ResultEvent);void{
         var arrCollect:ArrayCollection = event.result as ArrayCollection;
    arrCollection gives me correct value of Data object.
    I want the webService to return me a Vector. How can I go about that?
    -H

    If I understand you correctly (do not see a 'vect' variable anywhere), the web service is working perfectly.  The getData() function is non-blocking and does not "wait" for the response from the web service.  This is why you need to add an event listener, to listen for the "result" event.  When the reply comes in, the listener triggers the handler (connectWsResult) which you appear to have defined correctly.
    So I'm not sure what the problem is if you say the handler is returning the correct data.  Am I missing something?

  • Custom tool error: Unable to import WebService/Schema. The object 'Settings' already contains a property 'Default' not of type Web Service Url

    Getting this error while  converting application from framework 3.5 to 4.0

    Why not just export the whole site ? Then import.
    example:
    You want all lists from http://sharepoint.ms.com/sites/it to be imported to http://sharepoint.ms.com/sites/it2
    Export the whole sites/it then import to sites/it2
    AJ MCTS: SP 2010 Configuration MCSA: Windows 7 If you find this post useful kindly please mark it as an answer :) TY

  • Data Federator - Building Web Services Data Source - Request Guidance

    Hello -
    I am trying to build a web services data source in Data Federator.
    I have:
    1. In ECC, I have created a web service, proxy, port, endpoint, etc. and am testing it with WS Navigator
    2. I have created a Project in Data Federator of the type web service
        a. Here I have assigned the WSDL URL (generated in ECC) as the URL
        b. I have setup web service authentication using the same userid, pwd in the web services definition (note: I have set the
            web services authentication to 'NONE' to avoing authorization issues)\
        c. I am now trying to "Generate Operations"
    I keep getting the error :
    The File Access Parameters are not valid (directory path = <HERE IS THE PATH TO THE WSDL WITH THE HOST/PORT stripped OUT>; file pattern = document
    I believe that it is finding the WSDL, becuase when I change the WSDL from 'Document' to 'RPC', the error changes with the file pattern = rpc.
    What needs to be done to the file access parameter piece.
    PLEASE provide guidance.  Thanks.
    - abhi

    Ananya,
    We are using XI to load data to BI from source system. XI basically uses the same concept as Web Services - Real time data concept via RFC embeded in Proxies.
    I was using web services to test data load - eventually we will use XI.
    KJs blog is pretty good. I was able to get data loaded - after several iterations and several OSS notes. It is still not perfect - there are several manual steps . I am going to pick KJs brain on that.
    We are on SP10 and looks like there are several bugs in RSRDA. Some of these are addressed in SP11 an SP12.
    Some notes to consider are
    0001003963, 0001008276,0001009260 and 001003265.
    Let me know if you have any questions.

  • APEX 3.0.1 fails to consume Web Services

    I am running APEX 3.0.1 in a 10.2.0.2 EE database on Windows XP.
    I am trying to get APEX to use a simple web service that I have created in BPEL. The web service functions perfectly in SoapUI.
    APEX seems to be using the response document rather than the request document when invoking the service.
    Here is the request generated by APEX:
    <inputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"><ns1:Item xmlns:ns1="http://TargetNamespace.com/GetItemResponse">
    <ns1:SETID>SHARE</ns1:SETID>
    <ns1:ITEM_ID>810002</ns1:ITEM_ID>
    </ns1:Item>
    </part></inputVariable>
    Here is the request generated by SoapUI:
    <inputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"><get:Item xmlns:get="http://TargetNamespace.com/GetItemRequest">
    <get:SETID>SHARE</get:SETID>
    <get:ITEM_ID>810002</get:ITEM_ID>
    </get:Item>
    </part></inputVariable>
    The primary difference is that APEX is referencing GetItemResponse rather than GetItemRequest.
    Here is the WSDL:
    <definitions name="ItemGet" targetNamespace="http://xmlns.oracle.com/ItemGet" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/ItemGet" xmlns:ns1="http://TargetNamespace.com/GetItemRequest" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:ns2="http://TargetNamespace.com/GetItemResponse" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/ItemGet">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://TargetNamespace.com/GetItemRequest" schemaLocation="GetItemRequest.xsd"/>
    </schema>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://TargetNamespace.com/GetItemResponse" schemaLocation="GetItemResponse.xsd"/>
    </schema>
    </types>
    <message name="ItemGetRequestMessage">
    <part name="payload" element="ns1:Item"/>
    </message>
    <message name="ItemGetResponseMessage">
    <part name="payload" element="ns2:Root-Element"/>
    </message>
    <portType name="ItemGet">
    <operation name="process">
    <input message="tns:ItemGetRequestMessage"/>
    <output message="tns:ItemGetResponseMessage"/>
    </operation>
    </portType>
    <binding name="ItemGetBinding" type="tns:ItemGet">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="process">
    <soap:operation style="document" soapAction="process"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="ItemGet">
    <port name="ItemGetPort" binding="tns:ItemGetBinding">
    <soap:address location="http://xpvm.us.oracle.com:8888/orabpel/default/ItemGet/1.0"/>
    </port>
    </service>
    <plnk:partnerLinkType name="ItemGet">
    <plnk:role name="ItemGetProvider">
    <plnk:portType name="tns:ItemGet"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    As you can see from the WSDL, the input message is tns:ItemGetRequestMessage and the output is tns:ItemGetResponseMessage.
    The APEX design time environment is accurately recognizing ItemRequest for the input parameters and ItemResponse for the output parameters.
    It looks like a potential APEX bug.
    Anyone run into this? Anyone have any suggestions?
    Thanks!
    Kurt

    Kurt:
    It does look like a bug. I can offer the following workaround.
    Create a Manual Web reference as described here:
    http://download-west.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32471/advnc.htm#BABCBBHJ
    section "Creating a Web Service Manually"
    based on the WSDL below, you would enter the following for URL and Action:
    URL: http://xpvm.us.oracle.com:8888/orabpel/default/ItemGet/1.0
    Action: process
    Also, enter a name for an APEX collection to store the response, such as GET_ITEM_RESPONSE.
    For the SOAP Envelope, paste in the one that works from SOAPUI or use BPEL Control to get the envelope. Instead of static values for the parameters you use #ITEM_NAME# substitutions. So if the page generated by the wizard was on page 1, it would look something like:
    <inputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"><get:Item xmlns:get="http://TargetNamespace.com/GetItemRequest">
    <get:SETID>#P1_SETID#</get:SETID>
    <get:ITEM_ID>#P1_ITEM_ID#</get:ITEM_ID>
    </get:Item>
    </part></inputVariable>
    (with the proper SOAP Envelope wrapper around it)
    Now go to page 1 (assuming that was the page created by the wizard) and remove the current process of type Web service on that page. Add a new process of type Web service, choose Manual, and choose the manual one you created above.
    Follow the instructions in the section titled "Displaying Web Service Results in a Report" at the link above to create a report on the result.
    There is also an advanced tutorial using Manual Web references you may wish to review:
    http://download-west.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32469/web_serv.htm#CHDEFEGH
    Hope that helps,
    Jason

  • Error while invoking web services from Proxy services in OSB

    I have a Proxy Service of message type in Oracel Service Bus 10gR3 and it passes the incoming messages from a JMS Queue to Business Service of Web Services type. This Web Service is hosted in Glass Fish v3 and it's binding style is RPC. The JRE used in both the servers are 1.6.0_20. The JMS message is of Text type. The Web Services at the Glass Fish throws MessageCreationException for any content of the JMS message. However, it works fine if Business Service's test client is invoked from the OSB'S Admin Console. However, the same will not work if Proxy Service's test client is called.
    The detailed exception stack is given below :
    Thanks for the help.
    - Raj
    com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
    at [row,col {unknown-source}]: [1,0]
         at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:359)
         at com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:318)
         at com.sun.xml.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:92)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:501)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:285)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:143)
         at org.glassfish.webservices.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:116)
         at org.glassfish.webservices.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
         at org.glassfish.webservices.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:196)
         at org.glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:127)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
         at com.sun.grizzly.http.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:195)
         at com.sun.grizzly.http.servlet.FilterChainImpl.invokeFilterChain(FilterChainImpl.java:139)
         at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:376)
         at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:329)
         at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
         at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
         at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245)
         at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
         at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
         at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
         at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
         at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
         at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
         at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
         at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
         at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
         at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
         at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: com.sun.xml.ws.streaming.XMLStreamReaderException: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
    at [row,col {unknown-source}]: [1,0]
         at com.sun.xml.ws.streaming.XMLStreamReaderUtil.wrapException(XMLStreamReaderUtil.java:267)
         at com.sun.xml.ws.streaming.XMLStreamReaderUtil.next(XMLStreamReaderUtil.java:95)
         at com.sun.xml.ws.streaming.XMLStreamReaderUtil.nextContent(XMLStreamReaderUtil.java:110)
         at com.sun.xml.ws.streaming.XMLStreamReaderUtil.nextElementContent(XMLStreamReaderUtil.java:100)
         at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:175)
         at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:303)
         at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:129)
         at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:354)

    Let me explain what I am trying to achieve. Our application receives data from multiple sources - from mainframe using FTP, JMS Queue and BPM application using Web Services. The data from all these sources are sending to a Web Service running in GlassFish V3. To handle this I have created three Proxy Services and one Business Service on OSB. The Business Service is of type Web Service using the same WSDL from the target Web Service.
    The Proxy Services are configured as follows:
    Proxy 1 (type - Messaging service) listens to the JMS Queue and receives JMS Text Message -> Business Service(B1) (Web Service).
    Proxy 2 (type - Messaging service Polls files from the FTP Server -> Business Service(B1) (Web Service).
    Proxy 3 (type - Web service) is invoked by the BPM application and sends a String -> Business Service(B1) (Web Service).
    All the Proxies route to the same Business Service - B1 which calls the Web Service in GlassFish. The only Proxy that works fine is Proxy 3 which is created using the same WSDL of the Web Service. In the other two proxies it thows the same exception in GlassFish as I mentioned before.
    com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog at [row,col {unknown-source}]: [1,0] at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:359)
    Is this configuration correct to achieve my requirements?
    Once again thanks for the help.
    - Raj

  • HTTPS Web Service datastore : does not work in case of proxy

    Data Services 12.2 on Windows XP SP2
    I've set up a datastore, type "web service", url is https://.... (an external web service, outside of our company)
    I'm able to import the functions of this web service into the datastore.
    In a DF, in a query transform, I call one these functions.
    The job fails with this error message :
    There is no response for the web service <searchCertificate>. Ensure that the network, web server, and service are running properly. Also ensure that the service client call time out is set properly.
    I'm sure the web service is active. I have to pass a proxy.
    When I do not have to pass a proxy (when I execute this job on my laptop not connected to the office network) the job runs fine !
    How can you configure the axis2.xml so that https can run with a proxy ? (no problem to do this for http web services, but I do not see a solution for https web services !)
    Thanks !!

    Hi Sukarna,
    the connection is not the problem.
    Actually I've tested the scenario of abap proxy --> PI -->abap proxy for the same interface, it works fine. Only when I try ws instead of proxy, I got this error. Since proxy scenario works fine, the connection should not be issue.
    any more clues?
    Thanks

Maybe you are looking for