Document style websevices

Hi
I need to create a Web service which will take in XML docs as its parameter and
that can be validated by schema. The WSDL of the web service should have a pointer
to the schema file for the message that the service is expecting and the Web sevice
framework should be able to do the schema validation - the method will look like
this:
public String processExternalData(String xmlData)
This xmlData will be schema validated and finally will come to the method as an
xml string. The problem is if I write an EJB based on that the wsdl definition
will be generating the parameter type as xsd:string which I dont want - I want
it to point to my schema for the xmlData.
There seems to be some discussion in this forum abt this - but there is no examples
of how to do it. Does anyone have any examples for this which I can refer to.
TIA
Anamitra

Hello,
One way is to use the xsd:any in the WSDL. That will map to a
yourMethod(javax.xml.soap.SOAPElement Document). Then you can do
validation while parsing a document as described in:
http://edocs.bea.com/wls/docs81/xml/xml_apps.html#1081760
There is a CR (CR082116) requesting support for optional XML validation
of the
data sent to/from a webservice.
For an example, you should take a look at SOAPBuilders Round3 Compound1
that does an echoDocument (another way of passing the document). The
description is available from http://www.whitemesa.com/r3/plan.html and
our implementation is available from
http://webservice.bea.com/r3server.zip and you can see the test page for
these test from: http://webservice.bea.com:7001/index.html
HTHs,
Bruce
Anamitra wrote:
>
Hi
I need to create a Web service which will take in XML docs as its parameter and
that can be validated by schema. The WSDL of the web service should have a pointer
to the schema file for the message that the service is expecting and the Web sevice
framework should be able to do the schema validation - the method will look like
this:
public String processExternalData(String xmlData)
This xmlData will be schema validated and finally will come to the method as an
xml string. The problem is if I write an EJB based on that the wsdl definition
will be generating the parameter type as xsd:string which I dont want - I want
it to point to my schema for the xmlData.
There seems to be some discussion in this forum abt this - but there is no examples
of how to do it. Does anyone have any examples for this which I can refer to.
TIA
Anamitra

Similar Messages

  • AxisFault seen while invoking document style web service

    I am seeing the following stacktrace when I try to invoke a document-style web service.
    <partnerRole name="MyWebService1_Role">
    <ServiceName>{http://idm.oracle.com/}MyWebService1</ServiceName>
    <PortType>{http://idm.oracle.com/}MyWebService1</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/default/ProvisioningFromDAS~1.0/4202-BpInv0-BpSeq0.3-3</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2005-09-06 09:23:37,650> <DEBUG> <default.collaxa.cube.ws> <WSIFInvocationHandler::invoke> Fault happened
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
    faultSubcode:
    faultString: caught exception while handling request: expected element is missing: {http://idm.oracle.com/}attribute
    faultActor:
    faultNode:
    faultDetail:
    {http://xml.apache.org/axis/}stackTrace:caught exception while handling request: expected element is missing: {http://idm.oracle.com/}attribute
    at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
    at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
    at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083)
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    What could this mean ?

    Hi,
    I am getting a similar issue. I created a Document-style/literal webservice and deployed on Weblogic 9.2 . Then I generated client stubs using clientgen. I get the following exception stack trace:
    java.rmi.RemoteException: web service invoke failed: javax.xml.soap.SOAPException:
    failed to serialize class java.lang.Objectweblogic.xml.schema.binding.SerializationException: type mapping lookup failure on
    class=class com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl TypeMapping=TYPEMAPPING SIZE=3
    ENTRY 1:
    class: java.lang.Object
    xsd_type: ['http://xmlns.ozarkexpress.com/business/sell']:stns:echoDocumentResponse
    ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@1125127
    deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@18dfef8
    ENTRY 2:
    class: java.lang.Object
    xsd_type: ['http://xmlns.ozarkexpress.com/business/sell']:stns:echoDocument
    ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@15e83f9
    deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@2a5330
    ENTRY 3:
    class: java.lang.Object
    xsd_type: ['http://www.w3.org/2001/XMLSchema']:xsd:anyType
    ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@bb7465
    deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@d6c16c

  • Calling a document style web service using a pl/sql wrapper method

    Just wanted to find out if anybody has a working example of invoking a document style web service from Oracle 10g database on a Unix environment.
    We have java test class that invokes the web service, and we are trying to use a pl/sql wrapper to invoke a Java Web Service client. So far, we are encountering an End of File Communication error from Oracle which essentially terminates the session with the database.
    On the Oracle application server side we are able to see a successful HTTP request made to the application server via server log, which is hosting the web service, since we are registering HTTP 200 success codes. However, we do not see any other errors from the application in the server logs. Most likely since the client side fails, before actually getting a chance to invoke the web service. This has been verified by commenting the client code leaving the print statements. The first call to the Service Factory method (XFire) to look up the service is where the PL/SQL procedure fails with an End of File communication error.

    Remove the when others section and see the actual error and post that.
    http://tkyte.blogspot.com/2008/06/when-others-then-null-redux.html
    http://tkyte.blogspot.com/2007/03/dreaded-others-then-null-strikes-again.html

  • Document style Problem

    We have three issues when trying to implement a document-style service. I will
    document them all but I'd suggest you go through them all before attempting to
    answer any of them.
    We are trying to implement a service that has the following signature:
    public void echoDom(Document doc)
    We want the delivery of our message to be of style ("document"). Therefore, we
    modified our servicegen entry to include the style="document" under the service.
    It looks like the following:
    <servicegen
    destEar="${appDir}/dom.ear"
    warName="dom.war">
    <service
    javaClassComponents="examples.dom.EchoDom"
    targetNamespace="http://examples.org"
    serviceName="dom"
    serviceURI="/EchoDomService"
         generateTypes="True"
    expandMethods="True"
    style="document">
    <client
    packageName="examples.dom"
    clientJarName="client.jar"
    />
    </service>
    <classpath>
    <pathelement path="${temp_dir}"/>
    <pathelement path="${java.class.path}"/>
    </classpath>
    </servicegen>
    1. FIRST PROBLEM:
    The first problem we're having is that it does not compile with the combination
    of our signature being of type void (as shown above) and the style="document"
    in build.xml.
    The error is the following:
    [servicegen] Generating service "dom" ...
    [servicegen] Generating XML types and serializers from java classes (examples.do
    m.EchoDom) ...
    [servicegen] weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[  void:
    null ]
    [servicegen] at weblogic.utils.Debug.assertion(Debug.java:84)
    [servicegen] at weblogic.xml.schema.binding.internal.codegen.Compiler.compile
    (Compiler.java:111)
    [servicegen] at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.ma
    pClass(XSDTypeMappingBuilder.java:88)
    [servicegen] at weblogic.xml.schema.binding.internal.TypeMappingBuilderBase.a
    ddMapping(TypeMappingBuilderBase.java:183)
    [servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper
    .mapComponent(ComponentAutoTyper.java:155)
    [servicegen] at weblogic.ant.taskdefs.webservices.autotype.JavaAutoTyper.run(
    JavaAutoTyper.java:80)
    [servicegen] at weblogic.ant.taskdefs.webservices.autotype.AutoTypeTask.execu
    te(AutoTypeTask.java:353)
    [servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.g
    enerateService(ServiceGenTask.java:251)
    [servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.e
    xecute(ServiceGenTask.java:146)
    [servicegen] at org.apache.tools.ant.Task.perform(Task.java:217)
    [servicegen] at org.apache.tools.ant.Target.execute(Target.java:164)
    [servicegen] at org.apache.tools.ant.Target.performTasks(Target.java:182)
    [servicegen] at org.apache.tools.ant.Project.executeTarget(Project.java:601)
    [servicegen] at org.apache.tools.ant.Project.executeTargets(Project.java:560)
    [servicegen] at org.apache.tools.ant.Main.runBuild(Main.java:454)
    [servicegen] at org.apache.tools.ant.Main.start(Main.java:153)
    [servicegen] at org.apache.tools.ant.Main.main(Main.java:176)
    2. SECOND PROBLEM
    If we change the signature to become:
    public Document echoDom(Document doc)
    then the build works but when we try to test our service, it gives us the following:
    [java] java.rmi.RemoteException: web service invoke failed; nested exceptio
    n is:
    [java] javax.xml.soap.SOAPException: failed to serialize xml:weblogic.
    xml.schema.binding.SerializationException: type mapping lookup failure on class=
    class weblogic.apache.xerces.dom.DocumentImpl TypeMapping=TYPEMAPPING SIZE=6
    [java] ENTRY 1:
    [java] class: org.w3c.dom.Document
    [java] xsd_type: ['http://examples.org']:p3:echoDom
    [java] ser: weblogic.xml.schema.binding.internal.builtin.DocumentCode
    c@5973ea
    [java] deser: weblogic.xml.schema.binding.internal.builtin.DocumentCode
    c@49131c
    [java] ENTRY 2:
    [java] class: java.lang.Object
    [java] xsd_type: ['http://examples.org']:p1:echoDomResponse
    [java] ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
    5b99f
    [java] deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
    3. THIRD PROBLEM:
    Now, when we revert back to style="rpc" and everything works fine and dandy (although
    not as we want it because, as I mentioned above, we want a void signature and
    a document style), we get the following added tag around our body content, which
    we did not add ourselves, nor are we sure yet why it shows up:
    We pass it the following argument:
    <those dummy="hi">
    <this xmlns="mynamespace">
    <f:that xmlns:f="yournamespace">
    <or> a lot of random < </or>
    <f:the>
    </f:the>
    <f:other> foo bar blaz</f:other>
    </f:that>
    </this>
    </those>
    We get the following (notice the <document> tag around it):
    <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <env:Body>
    <m:echoDom xmlns:m="http://examples.org"
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <document>
    <those dummy="hi">
    <this xmlns="mynamespace">
    <f:that xmlns:f="yournamespace">
    <or> a lot of random < </or>
    <f:the>
    </f:the>
    <f:other> foo bar blaz</f:other>
    </f:that>
    </this>
    </those>
    </document>
    </m:echoDom>
    </env:Body>
    </env:Envelope>
    4. PROBLEM FOUR (just remembered this one):
    If we use the standard test page (provided with WLS), with (3) above, it chops
    off the "those" and it still wraps it within this new <document> element as show
    below:
    <!--REQUEST.................-->
    <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <env:Header>
    </env:Header>
    <env:Body>
    <m:echoDom xmlns:m="http://examples.org"
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <document>
    <this xmlns="mynamespace">
    <f:that xmlns:f="yournamespace">
    <or> a lot of random < </or>
    <f:the>
    </f:the>
    <f:other> foo bar blaz</f:other>
    </f:that>
    </this>
    </document>
    </m:echoDom>
    </env:Body>
    </env:Envelope>
    We're not so worried about the fourth because it seems like a bug but the first
    three (especially the first) are most important. Any ideas would be appreciated.
    Thanks
    sami

    Ok I tried it out, DOM with document style web
    service is not working in WLS 7.0.2. I filed
    CR104719. Please contact support with this case
    number to get a patch.
    Sorry for the trouble.
    http://manojc.com
    "sami titi" <[email protected]> wrote in message
    news:[email protected]...
    >
    We're using WLS7 SP2, patch: CR102544_70sp2_v2.jar
    thanks
    "manoj cheenath" <[email protected]> wrote:
    Quick question, before i try this out.
    Which version of WLS? SP?
    http://manojc.com
    "sami titi" <[email protected]> wrote in message
    news:[email protected]...
    We have three issues when trying to implement a document-style service.I
    will
    document them all but I'd suggest you go through them all beforeattempting to
    answer any of them.
    We are trying to implement a service that has the following signature:
    public void echoDom(Document doc)
    We want the delivery of our message to be of style ("document").Therefore, we
    modified our servicegen entry to include the style="document" underthe
    service.
    It looks like the following:
    <servicegen
    destEar="${appDir}/dom.ear"
    warName="dom.war">
    <service
    javaClassComponents="examples.dom.EchoDom"
    targetNamespace="http://examples.org"
    serviceName="dom"
    serviceURI="/EchoDomService"
    generateTypes="True"
    expandMethods="True"
    style="document">
    <client
    packageName="examples.dom"
    clientJarName="client.jar"
    />
    </service>
    <classpath>
    <pathelement path="${temp_dir}"/>
    <pathelement path="${java.class.path}"/>
    </classpath>
    </servicegen>
    1. FIRST PROBLEM:
    The first problem we're having is that it does not compile with thecombination
    of our signature being of type void (as shown above) and thestyle="document"
    in build.xml.
    The error is the following:
    [servicegen] Generating service "dom" ...
    [servicegen] Generating XML types and serializers from java classes(examples.do
    m.EchoDom) ...
    [servicegen] weblogic.utils.AssertionError: ***** ASSERTION FAILED*****[  void:
    null ]
    [servicegen] at weblogic.utils.Debug.assertion(Debug.java:84)
    [servicegen] atweblogic.xml.schema.binding.internal.codegen.Compiler.compile
    (Compiler.java:111)
    [servicegen] atweblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.ma
    pClass(XSDTypeMappingBuilder.java:88)
    [servicegen] atweblogic.xml.schema.binding.internal.TypeMappingBuilderBase.a
    ddMapping(TypeMappingBuilderBase.java:183)
    [servicegen] atweblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper
    mapComponent(ComponentAutoTyper.java:155)
    [servicegen] atweblogic.ant.taskdefs.webservices.autotype.JavaAutoTyper.run(
    JavaAutoTyper.java:80)
    [servicegen] atweblogic.ant.taskdefs.webservices.autotype.AutoTypeTask.execu
    te(AutoTypeTask.java:353)
    [servicegen] atweblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.g
    enerateService(ServiceGenTask.java:251)
    [servicegen] atweblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.e
    xecute(ServiceGenTask.java:146)
    [servicegen] at org.apache.tools.ant.Task.perform(Task.java:217)
    [servicegen] at org.apache.tools.ant.Target.execute(Target.java:164)
    [servicegen] atorg.apache.tools.ant.Target.performTasks(Target.java:182)
    [servicegen] atorg.apache.tools.ant.Project.executeTarget(Project.java:601)
    [servicegen] atorg.apache.tools.ant.Project.executeTargets(Project.java:560)
    [servicegen] at org.apache.tools.ant.Main.runBuild(Main.java:454)
    [servicegen] at org.apache.tools.ant.Main.start(Main.java:153)
    [servicegen] at org.apache.tools.ant.Main.main(Main.java:176)
    2. SECOND PROBLEM
    If we change the signature to become:
    public Document echoDom(Document doc)
    then the build works but when we try to test our service, it givesus the
    following:
    [java] java.rmi.RemoteException: web service invoke failed; nestedexceptio
    n is:
    [java] javax.xml.soap.SOAPException: failed to serializexml:weblogic.
    xml.schema.binding.SerializationException: type mapping lookup failureon
    class=
    class weblogic.apache.xerces.dom.DocumentImpl TypeMapping=TYPEMAPPINGSIZE=6
    [java] ENTRY 1:
    [java] class: org.w3c.dom.Document
    [java] xsd_type: ['http://examples.org']:p3:echoDom
    [java] ser:weblogic.xml.schema.binding.internal.builtin.DocumentCode
    c@5973ea
    [java] deser:weblogic.xml.schema.binding.internal.builtin.DocumentCode
    c@49131c
    [java] ENTRY 2:
    [java] class: java.lang.Object
    [java] xsd_type: ['http://examples.org']:p1:echoDomResponse
    [java] ser:weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
    5b99f
    [java] deser:weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
    3. THIRD PROBLEM:
    Now, when we revert back to style="rpc" and everything works fine anddandy (although
    not as we want it because, as I mentioned above, we want a void
    signature
    and
    a document style), we get the following added tag around our body
    content,
    which
    we did not add ourselves, nor are we sure yet why it shows up:
    We pass it the following argument:
    <those dummy="hi">
    <this xmlns="mynamespace">
    <f:that xmlns:f="yournamespace">
    <or> a lot of random < </or>
    <f:the>
    </f:the>
    <f:other> foo bar blaz</f:other>
    </f:that>
    </this>
    </those>
    We get the following (notice the <document> tag around it):
    <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <env:Body>
    <m:echoDom xmlns:m="http://examples.org"
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <document>
    <those dummy="hi">
    <this xmlns="mynamespace">
    <f:that xmlns:f="yournamespace">
    <or> a lot of random < </or>
    <f:the>
    </f:the>
    <f:other> foo bar blaz</f:other>
    </f:that>
    </this>
    </those>
    </document>
    </m:echoDom>
    </env:Body>
    </env:Envelope>
    4. PROBLEM FOUR (just remembered this one):
    If we use the standard test page (provided with WLS), with (3) above,it
    chops
    off the "those" and it still wraps it within this new <document>
    element
    as show
    below:
    <!--REQUEST.................-->
    <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <env:Header>
    </env:Header>
    <env:Body>
    <m:echoDom xmlns:m="http://examples.org"
    env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <document>
    <this xmlns="mynamespace">
    <f:that xmlns:f="yournamespace">
    <or> a lot of random < </or>
    <f:the>
    </f:the>
    <f:other> foo bar blaz</f:other>
    </f:that>
    </this>
    </document>
    </m:echoDom>
    </env:Body>
    </env:Envelope>
    We're not so worried about the fourth because it seems like a bug butthe
    first
    three (especially the first) are most important. Any ideas would beappreciated.
    Thanks
    sami

  • Problem in Jdeveloper 10.1.3, web services and document style.possible bug?

    Hello!
    I would like to generate a document-style web service from a wsdl file. The problem is that when I use it I get the following error:
    "operation echoStruct must have exactly one parameter as part of the SOAP body when used with a document-bare binding. All other parameters must be mapped to headers."
    A similar message is shown with other wsdl file that I'm using.
    I'm attaching the file that use to test it.
    Could you help me and tell me how I can fix it, please? or is it a bug?
    Regards,
    Antonio.
    <definitions xmlns:s1="http://soapinterop.org" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/xsd" xmlns:s2="http://soapinterop.org/AbstractTypes" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://soapinterop.org">
         <types>
              <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
                   <s:import namespace="http://soapinterop.org"/>
                   <s:element name="echoStructParam" type="s0:SOAPStruct"/>
                   <s:complexType name="SOAPStruct">
                        <s:sequence>
                             <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float"/>
                             <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int"/>
                             <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string"/>
                        </s:sequence>
                   </s:complexType>
                   <s:element name="echoStructReturn" type="s0:SOAPStruct"/>
                   <s:element name="echoStringArrayParam" type="s1:ArrayOfString"/>
                   <s:element name="string" type="s:string"/>
                   <s:element name="echoStringArrayReturn" type="s1:ArrayOfString"/>
                   <s:element name="echoStringParam" type="s:string"/>
                   <s:element name="echoStringReturn" type="s:string"/>
              </s:schema>
              <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org">
                   <s:import namespace="http://soapinterop.org/xsd"/>
                   <s:complexType name="ArrayOfString">
                        <s:sequence>
                             <s:element minOccurs="0" maxOccurs="unbounded" ref="s0:string"/>
                        </s:sequence>
                   </s:complexType>
                   <s:element name="ArrayOfString1" nillable="true" type="s1:ArrayOfString1"/>
                   <s:complexType name="ArrayOfString1">
                        <s:sequence>
                             <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string"/>
                        </s:sequence>
                   </s:complexType>
                   <s:element name="string" nillable="true" type="s:string"/>
              </s:schema>
              <s:schema targetNamespace="http://soapinterop.org/AbstractTypes">
                   <s:complexType name="StringArray">
                        <s:complexContent mixed="false">
                             <s:restriction base="soapenc:Array">
                                  <s:sequence>
                                       <s:element minOccurs="0" maxOccurs="unbounded" name="String" type="s:string"/>
                                  </s:sequence>
                             </s:restriction>
                        </s:complexContent>
                   </s:complexType>
              </s:schema>
         </types>
         <message name="echoStructSoapIn">
              <part name="echoStructParam" element="s0:echoStructParam"/>
         </message>
         <message name="echoStructSoapOut">
              <part name="echoStructResult" element="s0:echoStructReturn"/>
         </message>
         <message name="echoStringArraySoapIn">
              <part name="echoStringArrayParam" element="s0:echoStringArrayParam"/>
         </message>
         <message name="echoStringArraySoapOut">
              <part name="echoStringArrayResult" element="s0:echoStringArrayReturn"/>
         </message>
         <message name="echoStringSoapIn">
              <part name="echoStringParam" element="s0:echoStringParam"/>
         </message>
         <message name="echoStringSoapOut">
              <part name="echoStringResult" element="s0:echoStringReturn"/>
         </message>
         <portType name="WSDLInteropTestDocLitSoap">
              <operation name="echoStruct">
                   <input message="s1:echoStructSoapIn"/>
                   <output message="s1:echoStructSoapOut"/>
              </operation>
              <operation name="echoStringArray">
                   <input message="s1:echoStringArraySoapIn"/>
                   <output message="s1:echoStringArraySoapOut"/>
              </operation>
              <operation name="echoString">
                   <input message="s1:echoStringSoapIn"/>
                   <output message="s1:echoStringSoapOut"/>
              </operation>
         </portType>
         <binding name="WSDLInteropTestDocLitSoap" type="s1:WSDLInteropTestDocLitSoap">
              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="echoStruct">
                   <soap:operation soapAction="http://soapinterop.org/" style="document"/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
              <operation name="echoStringArray">
                   <soap:operation soapAction="http://soapinterop.org/" style="document"/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
              <operation name="echoString">
                   <soap:operation soapAction="http://soapinterop.org/" style="document"/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
         </binding>
         <service name="WSDLInteropTestDocLit">
              <port name="WSDLInteropTestDocLitSoap" binding="s1:WSDLInteropTestDocLitSoap">
                   <soap:address location="http://mssoapinterop.org/asmx/wsdl/InteropTestDocLit.asmx"/>
              </port>
         </service>
    </definitions>

    Dev update: WSDL file seems fine. The problem is that it's for a document-bare service and, by default, the Unwrap Wrapped Parameters option on step 2 of the top-down wizard is enabled and checked. This means that we try to pick apart the input message into a series of parameters, yielding the error shown because a document-bare operation must have only one input parameter.
    If the Unwrap Wrapped Parameters option is unchecked, creation of the top-down service will succeed. In future, we ought to disable the option completely for everything but document-wrapped services, as that's the only time it applies.
    This is covered by bug 4630382.

  • Problem in Web service - document style

    Hi,
    I want to create document style webservices using axis tool.
    so i need any sample codes and procedure for creating document style web services using axis tool . If any one help me in regarding this i will be thankfull to u.
    regards
    tuty.richard

    WSADMIN transaction is obsolete from SAP NetWeaver AS 7.00, SP14. and help documentation says following: The same you can get it from information pop-up.
    Start of Help Doc***************
    From SAP NetWeaver AS 7.00, SP14, new service definitions in the ABAP development environment are no longer administered using transactions WSADMIN and WSCONFIG.
    The transactions WSADMIN and WSCONFIG will remain active until all old web service configurations have been migrated, which means you can continue to configure web services from SAP NetWeaver AS 6.40, 7.00, and web service definitions from the XI 3.0 environment. You can also continue to access the runtime configurations of old service definitions using these transactions.
    However, new service definitions created in the ABAP development environment will be hidden in these transactions.
    End of Help Doc***************
    So, You have to use SOAMANAGER transaction if your release is more than whatever specified above.
    Regards,
    Siva.

  • Trouble Communicating with Document-Style Web Service

    I have a flash app that currently communicates with a
    RPC-style web service. I changed the web service to be
    document-style, and the flash app no longer sends valid requests. I
    was under the impression that one could simple swtich styles, and
    flash would play along. Apparently, this is not the case. Does
    anyone have an insight in this area?

    Clarified with Partick Calahan, who is maintaining this tool.
    Currently, doc style is not handled by this tool. I guess it will be
    supported in the future.
    Thanks.
    "Karthik V" <[email protected]> wrote in message
    news:[email protected]..
    I'm using WebLogic Webservice Explorer v.02 (WEX).
    I'm able to test rpc style web services without any problem.
    But whenever I try to open a document style web service WSDL, I get the
    following exception.
    I would appreciate if you have any suggestions for the to over come this
    issue.
    java.lang.IllegalArgumentException at
    weblogic.webservice.tools.wex.MessagePanel.<init>(MessagePanel.java:33)at
    >
    weblogic.webservice.tools.wex.ServicePanel.operationChanged(ServicePanel.jav
    a:153) at
    weblogic.webservice.tools.wex.ServicePanel.portChanged(ServicePanel.java:133
    ) at
    weblogic.webservice.tools.wex.ServicePanel.serviceChanged(ServicePanel.java:
    121) at
    weblogic.webservice.tools.wex.ServicePanel.<init>(ServicePanel.java:69)at
    >
    weblogic.webservice.tools.wex.tasks.FetchWsdlTask.perform(FetchWsdlTask.java
    :45) at
    weblogic.webservice.tools.wex.tasks.TaskQueue.run(TaskQueue.java:47) at
    java.lang.Thread.run(Unknown Source)

  • Document style Web Service the standard?

    Hi,
    A colleague of mine just told me that we should not be building RPC style web services since document style are the standard now. Is this true? I couldn't find any such phrase in WS-I BP 1.0.
    If this is not true then is it even a possiblity that in future Document style will be the standard?
    Thanks, Sid.

    In this context I think your friend is using 'standard' to mean 'reasonably common and quite trendy at the moment'.
    RPC based WS was a bad idea in because it destroys some of the loose coupling you gain using WS rather than say, CORBA, which is the number three reason for using WS. (number one being your boss spent lots of money on the tools and would look silly if you don't use them, and number two being WS tunnelling through firewalls).
    Pete

  • Problem deploying document style web service(urgent help required)

    I am getting this particular exception on my browser when I am trying to view the list of services after having deployed the service. The exception and complete stack trace is follows. I have also included the portion of the WSDD file giving details about the service.
    And now... Some Services
    AXIS error
    Sorry, something seems to have gone wrong... here are the details:
    Exception - org.apache.axis.ConfigurationException: java.lang.ClassCastException
    java.lang.ClassCastException
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:302)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
         at org.apache.axis.deployment.wsdd.WSDDDeployment.getHandler(WSDDDeployment.java:394)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:276)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
         at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
         at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:430)
         at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:503)
         at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:296)
         at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:482)
         at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:260)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
         at java.lang.Thread.run(Thread.java:534)
    org.apache.axis.ConfigurationException: java.lang.ClassCastException
    java.lang.ClassCastException
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:302)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
         at org.apache.axis.deployment.wsdd.WSDDDeployment.getHandler(WSDDDeployment.java:394)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:276)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
         at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
         at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:430)
         at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:503)
         at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:296)
         at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:482)
         at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:260)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
         at java.lang.Thread.run(Thread.java:534)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:304)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
         at org.apache.axis.deployment.wsdd.WSDDDeployment.getHandler(WSDDDeployment.java:394)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:276)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
         at org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
         at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
         at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:430)
         at org.apache.axis.deployment.wsdd.WSDDDeployment.getDeployedServices(WSDDDeployment.java:503)
         at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:296)
         at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:482)
         at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:260)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
         at java.lang.Thread.run(Thread.java:534)
    The snippet from the WSDD is as follows:
    <handler name="RequestHandler" type="java:com.doc.service.DataHandler"/>
    <service name="AddCalcService" provider="java:MSG">
    <parameter name="allowedMethods" value="*"/>
    <parameter name="className" value="com.doc.service.AddCalcService"/>
    <requestFlow>     
         <handler type="RequestHandler"/>
    </requestFlow>
    <responseFlow>
         <handler type="RequestHandler"/>
    </responseFlow>
    </service>
    Could someone tell what the cause of this exception and how it could be resolved.

    Hi Bruce,
    Thanks for all the links - am trudging through them now.
    -Leena
    Bruce Stephens <[email protected]> wrote:
    Hi Lenna,
    You might take a look at the SOAPBuilders interop tests.
    See: http://www.whitemesa.com/r3/interop3.html and notice the DocLit
    tests.
    Our endpoints are http://webservice.bea.com:7001 and the code for the
    client and servers can be located here:
    http://webservice.bea.com/index.html#qz40
    The good folks with WS-I have spent many cycles on interop issues. You
    might have a look at their work:
    http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html
    Hope this is of some value,
    Bruce
    leena wrote:
    Hi,
    I am trying to build a synchronous document-style web service, andthe bea
    site doesnt seem to have much documentation on it. I have a samplewritten with
    SOAPElement as the input and output of my method, no schemas, my reqand response
    are anyType, but im not sure if that is the best way to go. AND, itdoesnt work
    yet.
    Can anyone point me to a place where i can look for information ?i am on weblogic
    8.1. I would eventually also want my input/output xml to be definedby my schema.
    I see in examples that DOM Documents may also be passed as parameters(inand out)
    ? is there any place i can read up on this and decide what the bestoption for
    me is ? Also, i will be running a .Net client against this, so if thereis anything
    i need to keep in mind, i would appreciate it if anyone gave me anyinfo.
    Thanks in advance!
    leena.

  • Does UTL_HTTP support calling document style web service??

    Hi,
    I am exploring UTL_HTTP options for one of the web service call requirement at a customer site.
    Can any one tell if they have used UTL_HTTP for a document style service.
    If so, pls share the code.
    TIA,
    -Bhawani

    >
    wscompile -keep -verbose -import -f:documentliteral
    -f:nodatabinding config.xml
    wscompile -cp . -keep -verbose -gen:server
    serverconfig.xml
    [creating model: test]
    [creating service: Test]
    [creating port: MyIntf]
    [creating operation: callTXLife]
    error: Type "javax.xml.soap.SOAPElement" implements
    more than one interface, interfaces:
    "javax.xml.soap.Node", "org.w3c
    .dom.Element" ...
    I have the same problem with J2EE 1.4 AS Developer Release.

  • Document Style/Schema questions

    We are using Weblogic 8.1 sp1 and eclipse
    I have some general questions about Document style web services
    If I create a simple web service like
    public String getSomething(String xmlRequest)
              throws RemoteException, SomethingException
    then I can use servicegen, style=documentwrapped and everything works fine.
    The strings are actually XML documents. If I want to let my clients know about
    the schema for these documents would you suggest modifying the wsdl or publishing
    it elsewhere?
    Assuming I decide to put the schema in the wsdl how would I do that? (I am not
    using workshop)
    How does Weblogic know to convert the SOAP body into a String object? Should my
    interface be changed to use org.w3c.org.Document objects insead of Strings?
    Switching to the Client and consuming a document web services
    If I use clientgen on a wsdl that is document/literal style and has a full schema,
    I get a bunch of java classes representing the Document. The port object returns
    one of these objects (getSomethingResponse). Is there a way to have the port object
    return a an org.w3c.org.Document object?
    thanks for your help,
    Brit

    Hi Brit,
    If your business logic works fine just using strings then there would
    seem to be a little value in increaing the complexity of the message
    exchange pattern. If your client needs to know more about message where
    sharing the schema is desirable, then it is suggested as best practice
    to import the schema into the WSDL. The WS-I BP [1] clarifies use of
    the import mechanisms to keep them consistent and confined to their
    respective domains.
    For a org.w3c.org.Document, Manoj has an example here [1].
    The WSDL defines when to convert the SOAP to strings, using for example:
    xsd:element type="xsd:string"
    Regards,
    Bruce
    [1]
    http://manojc.com/?sample31
    [2]
    http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html#refinement34116312
    Brit wrote:
    >
    We are using Weblogic 8.1 sp1 and eclipse
    I have some general questions about Document style web services
    If I create a simple web service like
    public String getSomething(String xmlRequest)
    throws RemoteException, SomethingException
    then I can use servicegen, style=documentwrapped and everything works fine.
    The strings are actually XML documents. If I want to let my clients know about
    the schema for these documents would you suggest modifying the wsdl or publishing
    it elsewhere?
    Assuming I decide to put the schema in the wsdl how would I do that? (I am not
    using workshop)
    How does Weblogic know to convert the SOAP body into a String object? Should my
    interface be changed to use org.w3c.org.Document objects insead of Strings?
    Switching to the Client and consuming a document web services
    If I use clientgen on a wsdl that is document/literal style and has a full schema,
    I get a bunch of java classes representing the Document. The port object returns
    one of these objects (getSomethingResponse). Is there a way to have the port object
    return a an org.w3c.org.Document object?
    thanks for your help,
    Brit

  • Document style webservice

    Hello
    I have created a document style webservice, the method signature takes Element as argument and returns elements back. ( i guess this is the limitation of using Document Style Web Service, as I would have rather prefered to have a complex type JAVABEAN as an argument)
    Now going ahead, i have deployed this service to OC4J server and when I create the Stub at the client side, the return type of the method gets convered to Vector instead of Element.
    Can anyone help me out how to get the Element return type back at the stub end.
    Any help will highly be appreciated.
    Also is there is a way to create a complex type Webservice using Document style ?
    prab

    Hello,
    It is possible with OracleAS 10.1.3 out of the box.
    Which release are you using?
    Regards
    Tugdual Grall

  • Document style Complex PO

    Hi all,
    When defining Document styles for complex PO, unable to find Commodities and Complex payments regions.
    Am i missing something in setup? Please Help
    Thanks
    Ravi

    Hi Ravi,
    Please let me know if you have got any resolution for this issue, as we also want to create complex PO document style, which is missing from the page.
    Thanks in advance.
    Dinesh

  • Document Style Web Services in JDeveloper

    Hi,
    I have been creating Web Services in JDev using a simple java class which has the following signature:
    public boolean checkUserCredentials(String username, String password, int role)
    I would like to start working on more complex examples, specifically document style web services. It is my understanding that the non-wrapped document style services will return an XML type with a mapping class defined during the creation process.
    Can anyone point me to a good example of creating such a service in JDeveloper? It is my understanding that such a class would have a return type of XMLDocument, is that correct? If not do I define a custom object as a return type?
    I have searched on this topic, but couldn't find any good examples / documentation. Apologies if im missing something.
    Thanks

    Dev update: WSDL file seems fine. The problem is that it's for a document-bare service and, by default, the Unwrap Wrapped Parameters option on step 2 of the top-down wizard is enabled and checked. This means that we try to pick apart the input message into a series of parameters, yielding the error shown because a document-bare operation must have only one input parameter.
    If the Unwrap Wrapped Parameters option is unchecked, creation of the top-down service will succeed. In future, we ought to disable the option completely for everything but document-wrapped services, as that's the only time it applies.
    This is covered by bug 4630382.

  • Wsdl2service and document style

    Hello everybody.
    This is very urgent so any help will be really appreciated.
    I have a WSDL which uses document/literal style/encoding. I am running wsdl2service on it to generate java classes, and then proceeding successfully to generate and deploy a web service. The weblogic test page also works successfully.
    But when I look at the SOAP on-the-wire message, it is not document style SOAP compliant, for example, for the operation CreateNewAccount, that takes in the schema Customer.xsd, I get the following message :
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://www.schema.com/Bank">
         <SOAP-ENV:Body>
              <m:CreateNewAccount xmlns:m="http://www.telcordia.com/TestWebServices/Bank.wsdl">
                   <m0:Name></m0:Name>
                   <m0:SSN></m0:SSN>
                   <m0:Balance>0</m0:Balance>
                   <m0:Address>
                        <m0:Number></m0:Number>
                        <m0:Street></m0:Street>
                        <m0:State></m0:State>
                        <m0:Zip></m0:Zip>
                   </m0:Address>
              </m:CreateNewAccount>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    The way I understand, if this were document styled web-service, the operation name in above should be replaced by Customer.xsd root element name. (Pls see the attached WSDL).
    I tried the same WSDL with the Systinet server, and it produced a SOAP message that I was expecting.
    If I changed this WSDL to rpc mode, the CreateNewAccount node is followed by the Customer node, which is fine.
    So my question is, is this a WLS 81 SP2 bug, or am I doing something wrong or missing something?
    The WSDL :
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns:tns="http://www.telcordia.com/TestWebServices/Bank.wsdl" xmlns:ws="http://www.telcordia.com/TestWebServices/Bank.wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:sch="http://www.schema.com/Bank" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.telcordia.com/TestWebServices/Bank.wsdl">
         <import namespace="http://www.schema.com/Bank" location="Customer.xsd"/>
         <import namespace="http://www.schema.com/Bank" location="Ack.xsd"/>
         <types>
              <xs:schema xmlns:tns="http://www.telcordia.com/TestWebServices/Bank.wsdl"/>
         </types>
         <message name="CreateNewAccountRequest">
              <part name="body" element="sch:Customer"/>
         </message>
         <message name="CreateNewAccountResponse">
              <part name="body" element="sch:Ack"/>
         </message>
         <portType name="CreateNewAccountPortType">
              <operation name="CreateNewAccount">
                   <input message="tns:CreateNewAccountRequest"/>
                   <output message="tns:CreateNewAccountResponse"/>
              </operation>
         </portType>
         <binding name="CreateNewAccountBinding" type="tns:CreateNewAccountPortType">
              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="CreateNewAccount">
                   <input>
                        <soap:body parts="body" use="literal"/>
                   </input>
                   <output>
                        <soap:body parts="body" use="literal"/>
                   </output>
              </operation>
         </binding>
         <service name="AccountService">
              <port name="ws:CreateNewAccountPort" binding="tns:CreateNewAccountBinding">
                   <soap:address location="http://taste.mk.telcordia.com:45000/TWS/NewAccountRequest"/>
              </port>
         </service>
    </definitions>
    =======================================================
    The schemas :
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.schema.com/Bank" targetNamespace="http://www.schema.com/Bank" elementFormDefault="qualified">
         <xsd:element name="Customer">
              <xsd:complexType>
                   <xsd:all>
                        <xsd:element name="Name"/>
                        <xsd:element name="SSN"/>
                        <xsd:element name="Balance" type="xsd:integer"/>
                        <xsd:element name="Address">
                             <xsd:complexType>
                                  <xsd:all>
                                       <xsd:element name="Number"/>
                                       <xsd:element name="Street"/>
                                       <xsd:element name="State"/>
                                       <xsd:element name="Zip"/>
                                  </xsd:all>
                             </xsd:complexType>
                        </xsd:element>
                   </xsd:all>
              </xsd:complexType>
         </xsd:element>
    </xsd:schema>
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.schema.com/Bank" targetNamespace="http://www.schema.com/Bank" elementFormDefault="qualified" attributeFormDefault="unqualified">
         <xsd:element name="Ack">
              <xsd:complexType>
                   <xsd:all>
                        <xsd:element name="SSN"/>
                        <xsd:element name="AccountNumber"/>
                   </xsd:all>
              </xsd:complexType>
         </xsd:element>
    </xsd:schema>

    The generated web-services.xml from wsdl2service can have either style="rpc" or
    style="document". And in order to accomodate doc/lit operations that have multiple
    params you would need to edit the web-services.xml to have style="documentwrapped".
    Regards
    Shridhar
    Laxman Siyani <[email protected]> wrote:
    Hi,
    I have been using the autotype and wsdl2service ant tasks to generate
    firstly a complex data type from the .xsd, associated with a .WSDL.
    Then I use the wsdl2service to generate a Interface class which I implement.
    When I deploy this and try to use it from the test page in the Console,
    I get an error in the Weblogic.log:
    ERROR: Backend components for Document style webservice can only accept
    methods with one input parameter.
    Does anyone know how I can get wsdl2service to generate documentwrapped
    webservice.xml.
    Many thanks,
    Laxman

Maybe you are looking for

  • To Cloud or not to Cloud (Nikon D7100)

    I have a Nikon D7100 and posted awhile ago about Camera Raw.  I finally went and purchased the cloud so I could have CS6 since my previous copy of CS5 was not going to be updated to contain my D7100 camera profile.  So I've been using the cloud and C

  • Acrobat X Pro crashes when I try to scan

    I recently upgraded my computer to Windows 7 (32-bit).  I used to have Acrobat Pro 6 when I was running WinXP, but I knew that wouldn't be compatable with Win7, so I went out and got Acrobat X Pro. My scanner is part of my multifunction device: Samsu

  • Query regarding Forms Personalization

    Hi , I have a requirement to execute the following code in a WHEN-NEW-FORM-INSTANCE trigger to update the WHERE clause of the Item Category flexfield in the Purchasing module. Normally I would have executed this code from within the trigger. How can

  • PhotoSmart C4580 ... Cannot install Driver on Windows 8.1 64bit

    Basic driver is working, however, I cannot install the full service driver ... downloads OK ... when attempting to Install the little disk shows up on screen and then it simply stops?

  • Why won't my keynote files from my MacBook pro show up on my iPad 2 via iCloud?

    Hey anyone who can offer assistance, I recently upgraded my MacBook pro early 2011 from snow leopard to mountain lion in order to utilize iCloud and am experiencing an issue syncing presentations from my MacBook to my iPad 2.  The presentations simpl