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

Similar Messages

  • 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.

  • 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

  • Refreshing a document with Restful Web Services

    Hello,
    I want to refresh a document with Restful Web Services. The document is based on a BEx query with a date variable, which is set as a prompt.
    In order to refresh I send a PUT request like:
    PUT <webiURL>/documents/{documentId}/parameters
    and add the parameter, which is the prompt variable, to the body:
    {"parameters":{"parameter":[{"id":0,"answer":{"@type":"Date","values":{"value":"2014-07-01T00:00:00.000+00:00"}}}]}}
    Then I get a result like:
    {"success":{"message":"The resource of type 'Document' with identifier '1234' has been successfully updated.","id":1234}}
    Now I assume that the document is refreshed. However if I now read the properties with:
    GET <webiURL>/documents/{documentId}/properties
    the lastrefreshtime is not changed.
    Has anybody an idea what happens during a refresh and what is updated?
    Kind regards,
    Michael

    Hi,
    I have analyzed that the refresh seems to be only valid for the current session. This means, if I logon, refresh the document and determine the properties, I get the new refresh time.
    However, if I logoff, I still get the old refresh time. So the refresh is lost or only valid for a session.
    Is this the default behaviour?
    Regards,
    Michael

  • Using JAX-RPC handlers to proxy web service traffic

    Hi,
    I want to use JAX-RPC handlers to proxy web service traffic. In some instances the handler should modifiy / verify the message before forwarding the request to the remote web service end-point. Hence, the handler should forward the call by invoking the remote web service. In some cases the result from invoking the remove service should be post-processed by another proxy handler. To ensure that the result from invoking the remote service is available for post-processing I assume that the handler invoking the remote service must add the response message to the message context ( e g setProperty method) in the handler. Is this correctly understood?
    I would like to understand that this is a technically feasible and reasonable approach of using JAX-RPC. I'd really appreciate some feedback here.
    Many thanks,
    Tom

    Hi Eric,
    Thanks for your response. we are trying to access WSRR( manages end point urls for 7 different environments) and generate the end point dynamically at the design time. As we figured out WSRR is not compatible with OSB we are trying to implement these client side (OSB Proxy service) handlers which would get the dynamic endpoint depending on the environment used. I was able to create the handlers for this and set the jar in the classpath but the client service which should be using these handlers have to have these handlers defined in the deployment descriptor(web.xml) which am unable to see with a OSB project.
    Will there be a deployment descriptor(web.xml/webservices.xml) associated with Proxy services on OSB? Or Is there any other way to add custom JAX-RPC Handlers to a proxy service? Or is there any way to connect to WSRR directly?
    Thanks,
    Swetha

  • 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 ?

  • Send a map of documents via Invoke Web Service

    Hi,
        I have one process with map of documents and 2nd process on other server, where input variable is map od documents too. How can I send this map between these processes via "Invoke Web Service" component? Simple datatypes I can.
    Petr

    Take a look at Quick Start: Assembling a PDF document using the web service API
    It shows how to create an input map for multiple documents.
    But it sounds like you're asking how to create a WSDL that allows you to use an input map as an argument in a Web Service invocation. If so, take a look at the Assembler services WSDL. For 8.2, access
    http://myServer:myPort/soap/services/AssemblerService?wsdl

  • 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

  • Issue with generation of document/literal type WSDL using Axis

    Hi All,
    I am trying to convert some Java code into WSDL using Axis 1.2 framework. I used Document/Literal style for binding.
    One of the methods in my Java code returns an array. This array is described in Axis generated WSDL as follows:
    <complexType name="ArrayOfThings">
    <complexContent>
    <restriction base="soapenc:Array">
    <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:Things[]"/>
    </restriction>
    </complexContent>
    </complexType>
    But the end user(client for the web service I am hosting) says " .NET won't allow him to consume my webservice (or generate the proper reference classes) for types that derive from encoded types".
    So my question is "Would it be possible to change the webservice so that it doesn’t use that(soapenc) implementation of the array?"
    The end user is expecting something more like this:
    <s:complexType name="ArrayOfThings">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded" name="Things" nillable="true" type="tns:Things" />
    </s:sequence>
    </s:complexType>
    I am new to Web Services. So any help or guidance would be greatly appreciated.
    Thanks,
    Scott.

    Hi Dragana,
    We definitely support the ability to call a web service that exposes two operations (document/literal or not).
    Glancing through your WSDL, it looks good.
    Could you please try to tunnel the second request and see 1) what data is sent to the service and 2) what data is returned by the service?
    Can you please email us a reproduceable case so that we can help troubleshoot in parallel?
    Thank you,
    Edwin
    [email protected]
    please rename .zip to .zap

  • Support for document and documentwrapped web services

    List,
    Are "document" and "documentwrapped" style web services supported in WSL 8.1 SP1?
    The
    documentation referenced below [1] [2] indicates that these styles are supported,
    but in the
    Unsupported Features section of the Web Services overview [3] states the RPC literal
    style and
    Document encoded style are not supported. It is my understanding that the style
    attribute
    values of the servicegen ant task map to the SOAP encodings as follows:
    RPC -> SOAP RPC
    documentwrapped -> SOAP RPC-literal
    document -> SOAP document-literal
    Is this correct?
    Regards,
    Kent
    [1] http://edocs.bea.com/wls/docs81/webserv/design.html#1038901
    [2] http://edocs.bea.com/wls/docs81/webserv/anttasks.html#1063540
    [3] http://edocs.bea.com/wls/docs81/webserv/overview.html#1074641

    So is it a true statement that if I use the documentwrapped style, I don't have
    the restriction
    of having only one void method while gaining the scalability and performance benefits
    [1] of
    SOAP document-literal encoding? Does the documentwrapped style have any restrictions
    regarding out and in-out parameters? If so, what is the correct way in Java to
    specify a
    parameter as "IN" only?
    Thanks again,
    --Kent
    [1] http://dev2dev.bea.com/products/wlworkshop/articles/Cohen.jsp
    "manoj cheenath" <[email protected]> wrote:
    This is correct. In the doc/lit bare case, a
    method with no parameter will have an empty
    soap envelope. If you look at the schema for
    this operation, it will be an empty complexType.
    So in the style, you can only have one void
    method. WLS tools (servicegen/source2wsdd) do
    not enforce this. Which I think is a bug.
    Hope this helps,
    -manoj
    http://manojc.com
    "manoj cheenath" <[email protected]> wrote in message
    news:[email protected]...
    This is correct. In the doc/lit bare case, a
    method with no parameter will have an empty
    soap envelope. If you look at the schema for
    this operation, it will be an empty complexType.
    So in the style, you can only have one void
    method. WLS tools (servicegen/source2wsdd) do
    not enforce this. Which I think is a bug.
    Hope this helps,
    -manoj
    http://manojc.com
    "Kent Kvarfordt" <[email protected]> wrote in message
    news:[email protected]...
    Bruce,
    How do the restrictions apply to methods that do not have any paramters?
    >>>
    I have attached a copy of the weblogic webservice complex example that I
    modified
    to use
    document style encoding and contains two noarg methods, getVersion
    and
    getAnotherVersion. I also modified the buy and sell methods to take single arguments.
    Following are the results from the test web page for a call to getAnotherVersion.
    <!--REQUEST.................-->
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    </env:Header>
    <env:Body>
    </env:Body>
    </env:Envelope>
    <!--RESPONSE.................-->
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    </env:Header>
    <env:Body>
    <n1:buy
    xmlns:n1="http://www.bea.com/examples/Trader">getVersion</n1:buy>
    </env:Body>
    </env:Envelope>
    What am I missing? BTW - I am using Weblogic Server 8.1 SP1.
    Also, how does the weblogic documentwrapped style map to the SOAP encodings
    SOAP RPC, SOAP RPC-literal, and SOAP document-literal? Are the messages encoded
    SOAP doc/lit, but the programming model allows for multiple parameters? Is
    the documentwrapped style specific to weblogic webservices?
    And finally, given Java is a pass by value language, do I need to
    do
    anything
    special to the webservice method signatures to specify the parameters
    as
    "IN"
    parameters?
    Thanks for all the help. From looking at the list traffic, your
    keeping
    busy.
    Regards,
    Kent
    Bruce Stephens <[email protected]> wrote:
    Hi Kent,
    There are restrictions on the doc/lit style of encoding, such as
    the
    methods that implement each operation of the Web Service can have only
    one parameter and the methods that implement each operation cannot use
    out and in-out parameters. The documentwrapped generates a resulting
    Web Service operations that can take any number of parameters, although
    the parameter values will be wrapped into one complex data type in the
    SOAP messages. Manoj has an example of documentwrapped [1].
    We do not support rpc/lit. You might want to review this note by Yasser
    Shohoud, it explains this in exquisite detail [2]
    Regards,
    Bruce
    [1]
    http://manojc.com/?sample14
    [2]
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/h
    tml/rpc_literal.asp
    Kent Kvarfordt wrote:
    List,
    Are "document" and "documentwrapped" style web services supported
    in
    WSL 8.1 SP1?
    The
    documentation referenced below [1] [2] indicates that these styles are supported,
    but in the
    Unsupported Features section of the Web Services overview [3]
    states
    the RPC literal
    style and
    Document encoded style are not supported. It is my understanding
    that
    the style
    attribute
    values of the servicegen ant task map to the SOAP encodings as
    follows:
    RPC -> SOAP RPC
    documentwrapped -> SOAP RPC-literal
    document -> SOAP document-literal
    Is this correct?
    Regards,
    Kent
    [1] http://edocs.bea.com/wls/docs81/webserv/design.html#1038901
    [2] http://edocs.bea.com/wls/docs81/webserv/anttasks.html#1063540
    [3] http://edocs.bea.com/wls/docs81/webserv/overview.html#1074641

  • JAX-RPC vs OC4J J2Ee web service

    Hi,
    Currently we use Oracle10G 10.0.3 developer preview edition. we deployed same web service on both JAX-RPC platfrom and OC4J J2EE web service platfrom (RPC encoding style). We found that old platform seems to perform better than JAx-RPC platfrom with regard to serialization and de-serialzation. We also did the test on Doc/literal style in JAX-RPC platfrom and its performance is not as good as the one deployed on old platform. We understand JAX-RPC is new implementation and Oracle10.0.3 is under developer preview edition and so it may not be optimized. We have following questions
    1. Is this a known issue in JAX-RPC platform?
    2. Is there anyway to optimize JAX-RPC web service? Like using different XMl parser (instead of Oracle XML parser)
    3. When is the final release of 10.0.3 expected?
    4. Will Oracle be supporting old web service platfrom (OC4J J2EE web service platform)? If so how long?
    Thanks and regards
    __Hari

    Hi,
    Currently we use Oracle10G 10.0.3 developer preview edition. we deployed same web service on both JAX-RPC platfrom and OC4J J2EE web service platfrom (RPC encoding style). We found that old platform seems to perform better than JAx-RPC platfrom with regard to serialization and de-serialzation. We also did the test on Doc/literal style in JAX-RPC platfrom and its performance is not as good as the one deployed on old platform. We understand JAX-RPC is new implementation and Oracle10.0.3 is under developer preview edition and so it may not be optimized. We have following questions
    1. Is this a known issue in JAX-RPC platform?
    2. Is there anyway to optimize JAX-RPC web service? Like using different XMl parser (instead of Oracle XML parser)
    3. When is the final release of 10.0.3 expected?
    4. Will Oracle be supporting old web service platfrom (OC4J J2EE web service platform)? If so how long?
    Thanks and regards
    __Hari

  • JAX-RPC And Non-Java Web Service

    Hi,
    This is a total shot in the dark. I'm attempting to consume an RPC web service developed in Delphi. I've created a JAX-RPC client in NetBeans from the published WSDL, attached below. I've created calls to several of the procedures available. What's bizarre, at least to me, is that half of them work fine and half of them don't. In all cases where they don't I'm getting a returns SOAP envelope indicated an access violation, attached below. There are no errors in any of the server logs and the developer assures me that the procedures do, in fact, work from his client (also developed conveniently enough in Delphi).
    I'm willing to take him at face value for the moment and assume that the problem is in my client implementation, although I have no idea where it would lie. The only difference I've been able to gather between the features which work and those that don't is the size of the return package...it would most likely be much larger than the ones that don't work.
    The service is an ISAPI dll running under IIS on Windows Server 2003. Any clues or guidance anyone would be willing to provide would be most welcome. On to the files:
    There wasn't enough room to post the entire thing so I've included one working (CheckStock) and non-working (GetLibTrace) function.
    WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" name="IInnovaServiceservice" targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/">
      <message name="CheckStock2Request">
        <part name="OPC" type="xs:string"/>
      </message>
      <message name="CheckStock2Response">
        <part name="QTY" type="xs:int"/>
        <part name="messages" type="xs:string"/>
        <part name="return" type="xs:int"/>
      </message>
      <message name="GetLibTrace5Request">
        <part name="LibName" type="xs:string"/>
      </message>
      <message name="GetLibTrace5Response">
        <part name="dimensions" type="xs:string"/>
        <part name="messages" type="xs:string"/>
        <part name="return" type="xs:int"/>
      </message>
      <portType name="IInnovaService">
        <operation name="CheckStock">
          <input message="tns:CheckStock2Request"/>
          <output message="tns:CheckStock2Response"/>
        </operation>
        <operation name="GetLibTrace">
          <input message="tns:GetLibTrace5Request"/>
          <output message="tns:GetLibTrace5Response"/>
        </operation>
      </portType>
      <binding name="IInnovaServicebinding" type="tns:IInnovaService">
        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="CheckStock">
          <soap:operation soapAction="urn:InnovaServiceIntf-IInnovaService#CheckStock" style="rpc"/>
          <input>
            <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:InnovaServiceIntf-IInnovaService"/>
          </input>
          <output>
            <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:InnovaServiceIntf-IInnovaService"/>
          </output>
        </operation>
        <operation name="GetLibTrace">
          <soap:operation soapAction="urn:InnovaServiceIntf-IInnovaService#GetLibTrace" style="rpc"/>
          <input>
            <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:InnovaServiceIntf-IInnovaService"/>
          </input>
          <output>
            <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:InnovaServiceIntf-IInnovaService"/>
          </output>
        </operation>
      </binding>
      <service name="IInnovaServiceservice">
        <port name="IInnovaServicePort" binding="tns:IInnovaServicebinding">
          <soap:address location="http://172.20.10.145:8080/innovaservice.dll/soap/IInnovaService"/>
        </port>
      </service>
    </definitions>My client:
    package com.signet.innova.client;
    import com.signet.innova.client.interfaces.IInnovaService;
    import com.signet.innova.client.interfaces.IInnovaServiceservice_Impl;
    import java.net.URL;
    import java.rmi.RemoteException;
    import java.util.ArrayList;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.Stub;
    import javax.xml.rpc.holders.Holder;
    import javax.xml.rpc.holders.IntHolder;
    import javax.xml.rpc.holders.StringHolder;
    import javax.xml.soap.MessageFactory;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.ws.Dispatch;
    import javax.xml.ws.Service;
    public class InnovaClient {
        private void testConnection() {
            Stub stub = createProxy();
            IInnovaService service = (IInnovaService) stub;
            StringHolder sh1 = new StringHolder();
            StringHolder sh2 = new StringHolder();
            StringHolder sh3 = new StringHolder();
            IntHolder ih1 = new IntHolder();
            IntHolder ih2 = new IntHolder();
            IntHolder ih3 = new IntHolder();
            try {
                System.out.println("Calling checkStock()");
                service.checkStock("0103877866", ih1, sh1, ih2);
                System.out.println(" service returned => " + ih1.value + ":" + sh1.value + ":" + ih2.value);
            } catch (RemoteException re) {
                System.out.println(" service returned => " + re.toString());
            try {
                System.out.println("Calling getLibTrace()");
                service.getLibTrace("REGULAR", sh1, sh2, ih3);
                System.out.println(" service returned => " + sh1.value + ":" + sh2.value + ":" + ih1.value);
            } catch (RemoteException re) {
                System.out.println(" service returned => " + re.toString());
        private Stub createProxy() {
            return (Stub) (new IInnovaServiceservice_Impl().getIInnovaServicePort());
        public static void main(String[] args) {
            InnovaClient client = new InnovaClient();
            System.out.print("Running testConnection()...");
            client.testConnection();
    }The request and response packets are in my reply below. Ran out of characters. :o)
    Edited by: Pablo_Vadear on Dec 22, 2009 11:19 PM

    Correction from above...".it would most likely be much larger than the ones that don't work" should have been "it would most likely be much larger IN THE ONES THAT DON'T WORK". Sorry.
    The request:
    POST /innovaservice.dll/soap/IInnovaService HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    Accept: text/xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Content-Length: 484
    SOAPAction: "urn:InnovaServiceIntf-IInnovaService#CheckStock"
    User-Agent: Java/1.6.0_17
    Host: 172.20.10.145:8080
    Connection: keep-alive
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="urn:InnovaServiceIntf-IInnovaService" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><env:Body><ns0:CheckStock><OPC xsi:type="xsd:string">0103877866</OPC></ns0:CheckStock></env:Body></env:Envelope>POST /innovaservice.dll/soap/IInnovaService HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    Accept: text/xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Content-Length: 491
    SOAPAction: "urn:InnovaServiceIntf-IInnovaService#GetLibTrace"
    User-Agent: Java/1.6.0_17
    Host: localhost:8080
    Connection: keep-alive
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="urn:InnovaServiceIntf-IInnovaService" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><env:Body><ns0:GetLibTrace><LibName xsi:type="xsd:string">REGULAR</LibName></ns0:GetLibTrace></env:Body></env:Envelope>And the response:
    <?xml version="1.0"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><NS1:CheckStockResponse xmlns:NS1="urn:InnovaServiceIntf-IInnovaService"><return xsi:type="xsd:int">0</return><QTY xsi:type="xsd:int">0</QTY><messages xsi:type="xsd:string">Item 0103877866 retrieved OK.
    Right side OPC.
    </messages></NS1:CheckStockResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
    HTTP/1.1 200 OK
    Date: Tue, 22 Dec 2009 23:18:40 GMT
    Server: Microsoft-IIS/6.0
    Content-Type: text/xml
    Content-Length: 486
    <?xml version="1.0"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultactor/><faultcode>SOAP-ENV:Server</faultcode><faultstring>Access violation at address 00000000. Write of address 00000000</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>Any help appreciated.
    Edited by: Pablo_Vadear on Dec 22, 2009 11:23 PM

  • 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)

Maybe you are looking for

  • Error while selecting planning app in Business Rules

    Hi , I am not being able to select the planning outline while developing business rules (but I can select the Essbase Outline). Whenever I expand the Planning node, an error pops up the details of which says "Error connecting to Essbase server machin

  • How can I access iCloud on an android phone?

    I have a work based android device. I note that whenever I try to open "iCloud" on a google search on it, it is somehow blocked. I can imagine why this is so given the marketing strategies of Apple and Google but there must be a way around this stupi

  • Appending data in excel sheet

    Hi all.. I have an excel sheet which contains 1 in first column ,"Ram" in second column .Now i need to write a php script which insert "Bangalore" into third column of the same excel sheet.Can anyone help me with this .Searched a lot in other forums

  • HD Screen Size

    FIOS TV/internet/phone installed yesterday and I already have a problem with TV displays.  Two HD sets display all HD channels smaller than screen size - black bars on all four sides. Aspect ratio is displayed correctly.  STB is CHS 335HDC. The STB i

  • Photosmart D110 cannot scan with Mac OS X Yosemite

    HI there, I recently update my Mac Book to the OS X Yosiemite software and since then I cannot use the scanner on my printer. I am able to print wirelessly but when I try to scan it says that the scanner is not compatible with operating system. Can y