How to make Service Callout to Document (XML) Based Web Service Proxy

Hi,
I am receiving a String which is basically XML via MQ.
I want to do a Web Service Callout using the String based XML to a Proxy Service that is a Document Based Web Service.
When I make the call using the String as the input parameter, I get many PipeLine Exception errors on the console and it does not reach the Web Service.
Based on my readings, I believe that I need to place an XMLObject variable in the Service Callout instead of a String.
How do I do this?
I've tried the fn-bea:inlinedXML function but that does't seem to work.
Regards
Aziz

Hi Anuj, seems that the problem was an invalid character in the Mq Message when I tried to apply the inlinedXML method to it.
This is resolved now.
The solution:
1) Assign Mq $Body to variable
2) Use Java Callout to remove special characters fn:string(body)
3) convert Java Output String to XML using inlinedXML xquery function
4) Do a replace on the $body node contents using the XML variable
5) Call Web Service.
if you dont do the XML conversion, the web service throws a Pipeline Exception.

Similar Messages

  • OWSM 10.1.3.4 and Non-SOAP XML-based web service

    Hi all,
    According to the OWSM 10.1.3.4 Administrator's Guide, "all Web services registered with an Oracle WSM Gateway are virtualized as both a SOAP and non-SOAP Web service." To access the non-SOAP (XML-only) web service, the documentation states "The non-SOAP virtualized URL can be determined from the virtualized SOAP URL by replacing the services keyword in the URL with the xml keyword."
    For example, if the SOAP virtualized endpoint is:
    http://host:port/gateway/services/SID0003001
    then, the non-SOAP XML service endpoint is:
    http://host:port/gateway/xml/SID0003001
    I have several web services registered with an OWSM gateway, running on SOA Suite 10.1.3.4, and can access those without any problem. However, when I attempt to access the "/gateway/xml" version of these services, I simply get an HTTP 200 response header with a null body.
    Does anyone have any ideas what could be causing this or what the secret is to get the non-SOAP XML service feature of OWSM to work?
    Thanks!
    --Gary                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi all,
    According to the OWSM 10.1.3.4 Administrator's Guide, "all Web services registered with an Oracle WSM Gateway are virtualized as both a SOAP and non-SOAP Web service." To access the non-SOAP (XML-only) web service, the documentation states "The non-SOAP virtualized URL can be determined from the virtualized SOAP URL by replacing the services keyword in the URL with the xml keyword."
    For example, if the SOAP virtualized endpoint is:
    http://host:port/gateway/services/SID0003001
    then, the non-SOAP XML service endpoint is:
    http://host:port/gateway/xml/SID0003001
    I have several web services registered with an OWSM gateway, running on SOA Suite 10.1.3.4, and can access those without any problem. However, when I attempt to access the "/gateway/xml" version of these services, I simply get an HTTP 200 response header with a null body.
    Does anyone have any ideas what could be causing this or what the secret is to get the non-SOAP XML service feature of OWSM to work?
    Thanks!
    --Gary                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How and when to load cross-domain.xml for web services.

    I'm accessing some 3rd party web services and so I need them to have a cross-domain.xml file, which they have done.
    In order to access their web services, am I correct that I need to load the cross-domain.xml file they put on their web server, and if so, is my code to do so below correct, which I put in my creationComplete handler function?
    Note, of course the IP address in my code is not 0.0.0.0.
    Do I need all these lines, and am I doing this correctly?
    Currently I am getting a SecurityErrorEvent.
    Security.allowDomain("0.0.0.0");
    Security.loadPolicyFile("http://0.0.0.0/crossdomain.xml");
    var request:URLRequest = new URLRequest("http://0.0.0.0/crossdomain.xml");
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, policyLoaded);
    loader.addEventListener(IOErrorEvent.IO_ERROR, policyIOError);
    loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, policySecurityError);
    loader.load(request);

    Okay, I found that when I put the crossdomain.xml file at the root of my web site file area my hosting company provides, I do not specifically need to load the crossdomain.xml file.
    But if I want finer control over who has access to what, and I put the crossdomain.xml file in the same directory as my Flex app SWF file, what lines of the following code (or additional lines I don't know about) should I put in my app creationComplete handler function to load the crossdomain.xml file?
    Note, of course the IP address in my code is not 0.0.0.0.
    Do I need all these lines, and am I doing this correctly?
    Security.allowDomain("0.0.0.0");
    Security.loadPolicyFile("http://0.0.0.0/myAppFolder/crossdomain.xml");
    var request:URLRequest = new URLRequest("http://0.0.0.0/myAppFolder/crossdomain.xml");
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, policyLoaded);
    loader.addEventListener(IOErrorEvent.IO_ERROR, policyIOError);
    loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, policySecurityError);
    loader.load(request);

  • How to call an ABAP based web service from a web page (form)

    Hi,
    I am trying to figure out how I can call my own developed ABAP based web service. I was able to successfully test it in the WS navigator and am now wondering what I need to do to embed the service call in a plain simply web page (form). Basically I'd like to create a web form allowing to specify the parameters and with a 'Submit' button pass the parameters to the web service and launch it.
    Is this possible or do I need some kind of SDK to accomplish this?
    Thanks for any hints and tips.
    Wolfgang

    Hi,
    refer the following link and this is for cosuming the web service form Web dynpro Java
    https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50d70a19-45a3-2b10-bba0-807d819daf46&overridelayout=true
    and please go throught the following link if you want to cosume it through web dynpro abap and find the answer given by the Moderator Thomas Jung
    regards
    Manohar

  • How to pass xml in Web Services

    Hi,
    Can some one suggest which is the best way to send xml in web services.
    It can be sent as string (CDATA) or attachements.
    Is there any other way, may be as some object??
    I would appreciate if someone can help me on this.
    Thanks & Regards,
    Rana Biswas

    Hi, Eric,
    Thank you for your quick reply.
    The web service I am trying to develop is basically a generic Data Access Component to bridge between SQL server and a desktop .Net application. The application will have about 3000 users from WAN, therefore we want to have a server side component to handle connection pooling etc. Because of limitation of current servers, we are asked to develop a Java Web Service, instead of MS WS.
    To make the component more reusable, I am thinking to have methods like this in the service:
    RunQueryReturnRS(String Sql, WebRowSet, rs)
    RunQueryReturnInt(String Sql, int NumRecdImpacted)
    RunStoredProcedureReturnRS(….)
    RunStoredProcedureReturnInt(….)
    ……
    You see, I would like to get whole resultset back to client, including both metadata and data in a format of generic resultset. When I paged through the Sun’s document, finding WebRowSet is claimed to be seariable, and ready for Web Service. I thought if I can use WebRowSet that will save me time to write new classes to hold resultset info and pass back to client.
    Could you please tell me if it is a feasible approach?
    Thank you.
    -Qing

  • Sending document to oracle xml gateway web service and body is url encoded

    Hello,
    a question from a complete newbie to web services. I have some code that is sending a soap message to an oracle xml gateway web service. In the soap message the values in the soap body look like &lt ;CNTROLAREA&gt ;
    when I would be expecting <CNTROLAREA>. What I have been told is that the content of the ReceiveDocument element has been url encoded which causes the &lt and to correct it I need to change the paramater type from object to xmlnode and to build the request as an xmldocument. The xmlnode and xmldocument comes from a .net guy so I've been trying to find the equivalent in java but am not having any luck. I have a lot of reading to do but was wondering if someone might be able to point me in the right direction on how to correct the problem. I captured the soap message being sent using tcpmon. Why does the body have the &lt instead of the < as I was expecting and is there an xmldocument type? The header part of the soap message looks as I expect. "><soapenv:Header><ns1:XMLGateway_Header xmlns:ns1="http://xmlns.oracle.com/apps/fnd/XMLGateway"><ns1:MESSAGE_TYPE>XML</ns1:MESSAGE_TYPE>. It is being sent as a com.oracle.xmlns.apps.fnd.XMLGateway.XMLGateway_Header type.
    thanks
    Thanks
    Edited by: twf123 on May 5, 2010 11:59 AM
    Edited by: twf123 on May 5, 2010 12:00 PM

    twf123 wrote:
    What I have been told is that the content of the ReceiveDocument element has been url encoded which causes the &lt and to correct it I need to change the paramater type from object to xmlnode and to build the request as an xmldocument. Where do you change the parameter type?
    The xmlnode and xmldocument comes from a .net guy so I've been trying to find the equivalent in java but am not having any luck. How do you get the data from .net guy? Which interface do you use? What processing do you do after receiving the data?

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

  • Document-based web services - WebLogic 8.1

    Hi all,<br>
    I'm exposing a stateless session bean method as a web service. The in/out parameters are XML documents so my method signature looks as follows:
    <br><br>
    public Document collectMessages( Document request )
    <br><br>
    Accordingly I want to use document-based web services. I use <b>servicegen</b> to create all server-side classes required for the web service.
    <br><br>
    I'm testing the service from the WebLogic provided test page. For document-based services, the text-area is initially populated with the following content
    <br><br>
    <pre><!-- Do not know how to create a sample instance for this part due to the following exception:java.lang.InstantiationException: org.w3c.dom.Document. Pls replace this with the correct XML before invoking the service. --->
    <['http://www.revenue.ie/webservices/ris/rcm/webservices']:RcmCollectRequest/></pre>
    <br><br>
    When I invoke the service I get the following error:
    <br><br>
    <pre><!--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:Body>
    <env:Fault>
    <faultcode>Client</faultcode>
    <b><faultstring>Unable to find a matching Operation for this remote invocation <RcmCollectRequest>
    </RcmCollectRequest>. Please check your operation name. </faultstring></b>
    </env:Fault>
    </env:Body>
    </env:Envelope></pre>
    <br><br>
    I've searched for this error and seen it in the forum only a number of times. It seems as though some manual manipulation of the web-services.xml document can solve it. Does anyone have an example? My <b>web-services.xml</b> document looks as follows:
    <br><br>
    <pre><?xml version="1.0" encoding="UTF-8"?>
    <web-services>
         <web-service useSOAP12="false" targetNamespace="http://www.revenue.ie/webservices/ris/rcm/webservices" name="rcmmessageservices" style="document" uri="/">
              <types>
                   <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="http://www.revenue.ie/webservices/ris/rcm/webservices" elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="http://www.revenue.ie/webservices/ris/rcm/webservices">
                        <xsd:element type="xsd:anyType" name="RcmCollectRequest" nillable="true">
    </xsd:element>
                        <xsd:element type="xsd:anyType" name="RcmCollectResponse" nillable="true">
    </xsd:element>
                   </xsd:schema>
                   <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="java:ie.revenue.rcm.ejb.session" elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="java:ie.revenue.rcm.ejb.session">
                        <xsd:element type="stns:InvalidRequestException" name="InvalidRequestException">
    </xsd:element>
                        <xsd:element type="stns:SystemUnavailableException" name="SystemUnavailableException">
    </xsd:element>
                        <xsd:complexType name="InvalidRequestException">
    </xsd:complexType>
                        <xsd:complexType name="SystemUnavailableException">
    </xsd:complexType>
                   </xsd:schema>
              </types>
              <type-mapping>
                   <type-mapping-entry deserializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" xmlns:p2="http://www.revenue.ie/webservices/ris/rcm/webservices" type="p2:RcmCollectResponse" serializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" class-name="org.w3c.dom.Document">
    </type-mapping-entry>
                   <type-mapping-entry deserializer="ie.revenue.rcm.ejb.session.SystemUnavailableExceptionCodec" xmlns:p3="java:ie.revenue.rcm.ejb.session" type="p3:SystemUnavailableException" serializer="ie.revenue.rcm.ejb.session.SystemUnavailableExceptionCodec" class-name="ie.revenue.rcm.ejb.session.SystemUnavailableException">
    </type-mapping-entry>
                   <type-mapping-entry deserializer="ie.revenue.rcm.ejb.session.InvalidRequestExceptionCodec" xmlns:p4="java:ie.revenue.rcm.ejb.session" type="p4:InvalidRequestException" serializer="ie.revenue.rcm.ejb.session.InvalidRequestExceptionCodec" class-name="ie.revenue.rcm.ejb.session.InvalidRequestException">
    </type-mapping-entry>
                   <type-mapping-entry deserializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:anyType" serializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" class-name="org.w3c.dom.Document">
    </type-mapping-entry>
                   <type-mapping-entry deserializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" xmlns:p1="http://www.revenue.ie/webservices/ris/rcm/webservices" type="p1:RcmCollectRequest" serializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec" class-name="org.w3c.dom.Document">
    </type-mapping-entry>
              </type-mapping>
              <components>
                   <stateless-ejb name="ejbcomp0">
                        <ejb-link path="rcm-ejb-1.0.jar#CustomerMessageController">
    </ejb-link>
                   </stateless-ejb>
              </components>
              <operations>
                   <operation name="collectMessages" method="collectMessages(org.w3c.dom.Document)" component="ejbcomp0">
                        <params>
                             <param style="in" xmlns:p1="http://www.revenue.ie/webservices/ris/rcm/webservices" type="p1:RcmCollectRequest" location="body" name="document" class-name="org.w3c.dom.Document">
    </param>
                             <return-param xmlns:p2="http://www.revenue.ie/webservices/ris/rcm/webservices" type="p2:RcmCollectResponse" location="body" name="result" class-name="org.w3c.dom.Document">
    </return-param>
                             <fault xmlns:p3="java:ie.revenue.rcm.ejb.session" type="p3:SystemUnavailableException" class-name="ie.revenue.rcm.ejb.session.SystemUnavailableException" name="SystemUnavailableException">
    </fault>
                             <fault xmlns:p4="java:ie.revenue.rcm.ejb.session" type="p4:InvalidRequestException" class-name="ie.revenue.rcm.ejb.session.InvalidRequestException" name="InvalidRequestException">
    </fault>
                        </params>
                   </operation>
              </operations>
         </web-service>
    </web-services>
    </pre>
    <br><br>
    Thanks in advance,<br>
    Eoin

    Hi Eoin,
    I had the exact problem. Struggled a lot and still couldn't figure out. I think its a problem in 8.1. Not sure. Might want to check with the support guys. If you are struck with 8.1 and still couldn't figure out, AXIS would be a option for you. Just an FYI. Thats what we are doing now.
    Luckily for us we are migrating to 9.1 and I just completed a POC for doc oriented webservices in 9.1. It works like a charm.
    Thanks and good luck
    - Aspert

  • 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

  • How to send the SOAP Fault Message to the Web Service Consumer

    Hi,
    I have configured SAOP  to Proxy Syncronous Scenario in PI 7.1 and using XML Validation  in Adapter Engine to Validate the Structure of the Message Payload.The scenario is working fine.When some of the Filed's Length  increses the maxLength specified in the Data Type . We are getting the Following error.
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessageFormatException: XML Validation for payload with root element name MT_Out_CustomerMaster_FPMReq , target namespace http://Pegasystems.com/I06_Customers Failed!Errors Encountered During Parsing
    1.cvc-maxLength-valid: Value '123456789' with length = '9' is not facet-valid with respect to maxLength '8' for type 'null'.
    2.cvc-type.3.1.3: The value '123456789' of element 'CompanyCode' is not valid.
    3.cvc-maxLength-valid: Value 'asdf' with length = '4' is not facet-valid with respect to maxLength '1' for type 'null'.
    4.cvc-type.3.1.3: The value 'asdf' of element 'OperationType' is not valid.
         at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:1164)
    My question is How does the Web Service Consumer can handle this Soap Server Error in the SOAP Fault.Or How can we provide a specific information like  'The value '123456789' of element 'CompanyCode' is not valid.It exceeds the Maximum Length'.
    I read this /people/sap.user72/blog/2006/01/16/xi-propagation-of-meaningful-error-information-to-soap-client blog .Where it is mentioned that the Web Service Consumer can handle while calling the Web Service.Is there any other solution?
    Kindly appreciate your help.

    Thank You Stefan for your kind reply.
    So  you mean to say if we use the XML Validation .we cannot provide proper error information to the calling Web Service Consumer .And While calling a Web Service they cannot Extract the Exact Message in the Text Filed(<text>) present under the Detail Element (<detail>) in the <SOAP:Fault> node. as
    <text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessageFormatException: XML Validation for payload with root element name MT_Out_CustomerMaster_FPMReq , target namespace http://Pegasystems.com/I06_Customers Failed!Errors Encountered During Parsing
    1.cvc-maxLength-valid: Value '123456789' with length = '9' is not facet-valid with respect to maxLength '8' for type 'null'.
    2.cvc-type.3.1.3: The value '123456789' of element 'CompanyCode' is not valid.**
    3.cvc-maxLength-valid: Value 'asdf' with length = '4' is not facet-valid with respect to maxLength '1' for type 'null'.
    4.cvc-type.3.1.3: The value 'asdf' of element 'OperationType' is not valid.
    That is why we have to use the Fault messages and  Field Lengths has to be Validated  in the Server proxy.
    Please Correct me If I am wrong.

  • Creating a Document type Asynchronous Web Services

    Hi,
    I am trying to create a Document typ Asynchronous webservice, following the request/reply pattern. Can anyone point me to some tutorial which explains this, or explain the way the service implementation has to be.
    I want to know how to do the call back or polling faclity in the service implementation.

    Hello,
    The OracleAS Core Web Service stack currently (10.1.3 and earlier) does not have any API/DevModel, to create an Asynch service.
    However you can still use JAX-RPC/SAAJ APIs to manipulate the WS-Addressing information to faciliate the call back. For the implementation itself you will have to choose what fits you the best, for example using JMS under the cover to process the event that will do the call back.
    It is also true that today, we have lot of customers that use Oracle BPEL to create asynchronous services since it is 100% declarative.
    Regards
    Tugdual Grall

  • Native Oracle XML DB Web Services  in 11g

    in 11g the Native Oracle XML DB Web Services features is added .what is the advantage.how its owrks.

    in 11g the Native Oracle XML DB Web Services features is added .what is the advantage.how its owrks.

  • How to Use SOAPArray to Exchanged Data with a Web Service

    The method of a prototype Web service I created is defined to take many parameters
    and return an object of a user defined class. Furthermore, the user defined class
    includes data elements of another user defined class and the Java ArrayList class.
    This works with a Java client referencing the WebLogic created client.jar file
    but I don't know how well it will work with a non-Java client. In particular,
    with Perl which is the language that will be used by the developer who first will
    test with the prototype.
    In posts to this newsgroup use of "language-specific, generic containers" has
    been discouraged and the "language-agnostic" SOAPArray recommended. I have searched
    this newgsroup and the Web for examples of how to use a SOAPArray in a Web service
    EJB to receive parameters and return results but found none.
    Will someone refer me to an example or give an overview of how a Java Web service
    EJB running in WebLogic 6.1 would use SOAPArray to get parameter values and return
    results?
    Also, I would like confirmation that it is best to use SOAPArray to exchange data
    with a Web service to achieve the goal of a service accessible by any language.
    Thank you.

    Replies in-line:
    How are the structures, e.g. gltrans-workType, defined in the Web service?The structure is made up of nested Java Beans, but this does not mean that the
    client for your web service has to be written in Java. The WSDL that I sent contains
    everything that a .NET-based (or Perl-based, or Python-based, or VB-based, or
    C++ based) Web Service Stack needs to correctly create all the data types in the
    web services' signature! That's the beauty of XML Schema! It's programming language
    independent :-)
    In
    other words, what definition in Java resulted in the WSDL statements?The WSDL wasn't produced by WLS 6.1, but it (WLS 6.1) can consume it.
    What is the signature of method submitGLTransWorkAsJavaBean() in the
    Web service?public void submitGLTransWorkAsJavaBean(GlTransactionsCpyType glTransactionsCpyType)
    GlTransactionsCpyType is the outer-most Java Bean. WLS 6.1 does not generate
    Java Beans for you, but it will use ones that you defined. See the Java Bean tutorial
    on the Javasoft sitem for details on how to create a Java Bean.
    Was the WSDL generated using the WL tools for creating a Web service?No.
    Conclusion:
    You asked for someone to provide you with an example of how to use SOAP array
    in a WSDL, which is what the attached file contained :-) What you want to do now
    is find a tool that can generate Java Bean code from this WSDL (Apache Axis has
    a wsdl2java tool that should work), or create the Java Beans yourself. Afterwards,
    create a WLS 6.1 Web Service a expose it for a Perl or .NET client.
    Regards,
    Mike Wooten
    "Jeff Carey" <[email protected]> wrote:
    >
    Please elaborate.
    How are the structures, e.g. gltrans-workType, defined in the Web service?
    In
    other words, what definition in Java resulted in the WSDL statements?
    What is the signature of method submitGLTransWorkAsJavaBean() in the
    Web service?
    Was the WSDL generated using the WL tools for creating a Web service?
    Thank you.
    "Michael Wooten" <[email protected]> wrote:
    Hi Jeff,
    Sounds like a pretty cool prototype :-)
    I have attached a WSDL (at the bottom of this post) that contains a<schema>
    that
    uses a SOAPArray to create an array of a <complexType>.
    HTH,
    Mike Wooten
    "Jeff Carey" <[email protected]> wrote:
    The method of a prototype Web service I created is defined to take
    many
    parameters
    and return an object of a user defined class. Furthermore, the user
    defined class
    includes data elements of another user defined class and the Java ArrayList
    class.
    This works with a Java client referencing the WebLogic created client.jar
    file
    but I don't know how well it will work with a non-Java client. Inparticular,
    with Perl which is the language that will be used by the developerwho
    first will
    test with the prototype.
    In posts to this newsgroup use of "language-specific, generic containers"
    has
    been discouraged and the "language-agnostic" SOAPArray recommended.
    I have searched
    this newgsroup and the Web for examples of how to use a SOAPArray in
    a Web service
    EJB to receive parameters and return results but found none.
    Will someone refer me to an example or give an overview of how a Java
    Web service
    EJB running in WebLogic 6.1 would use SOAPArray to get parameter values
    and return
    results?
    Also, I would like confirmation that it is best to use SOAPArray toexchange
    data
    with a Web service to achieve the goal of a service accessible by any
    language.
    Thank you.

  • 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

  • Reading xml in web services

    I m sending an xml as string to the web service and i want to read the xml using JDOM but its not working. IS there any way of reading the xml in web service
    thanks in advance

    I'm trying to do the same thing in WASD 5.1 (which in theory conforms with JSR-109) and it is proving very difficult.
    Why is letting the Web Service implementation do the "heavy" work ( checking the SOAP message against the WSDL, performing security checks) but then AVOIDING the default mapping process so difficult.
    The next bit is to vent my frustation:
    "The lack of documentation on this subject is unbelievable, lots of 'you can then implement a document-centric web service' but without a single, real world, worked through example.
    For some reason parsing a bit of XML is seen as an extremely difficult task that should be avoided at all costs - oh come on!!! "
    Ok, venting finished, now for the question:
    Has ANYONE successfully imlemented a document-centric Web Service and can offer their experience/solution to the world?

Maybe you are looking for