WSDL to XSD

Hi,
I have a wsdl file. I do not have corresponding XSD file. Using Jdeveloper 11g is it possible to generate XSD file FROM wsdl file ? How ?
thx,
pp

Hi PP,
I am not very sure how to do it via Jdeveloper but you can use soapUI tool ( refer to www.soapui.org) for this.
Steps:
1. Create a new sopaUi project using your WSDL.
2. SoapUI will show the SOAPBinding details.
3. Double click this. You should be able to see a page giving the overview.
4. Go to the 3rd tab (WSDL Content). On the left, you should have the schema definitions under the "Schemas".
Hope this helps.
Thanks,
Patrick

Similar Messages

  • Assign a value from an wsdl:arrayType="xsd:string[]"

    Hi to everyone, I'm new at this issue of Bpel. I'm a developing a simple process and I need to communicate my process with a Web Services that returns a wsdl:arrayType="xsd:string[]", this is the type of the wdsl of the web service:
    <complexType
    name="ArrayOfString"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <complexContent>
    <restriction
    base="SOAP-ENC:Array">
    <attribute
    ref="SOAP-ENC:arrayType"
    wsdl:arrayType="xsd:string[]" />
    </restriction>
    </complexContent>
    </complexType>
    I need to know how to reference the values inside this response (array of string) and copy to a string variable inside my process.
    Thanks at all to everyone.
    Mulder

    Im not sure about this one, but can remember something about bpel not able to handle soap-encoded arrays.

  • Best practice for how to access a set of wsdl and xsd files

    I've recently beeing poking around with the Oracle ESB, which requires a bunch of wsdl and xsd files from HOME/bpel/system/xmllib. What is the best practice for including these files in a BPEL project? It seems like a bad idea to copy all these files into every project that uses the ESB, especially if there are quite a few consumers of the bus. Is there a way I can reference this directory from the project so that the files can just stay in a common place for all the projects that use them?
    Bret

    Hi,
    I created a project (JDeveloper) with local xsd-files and tried to delete and recreate them in the structure pane with references to a version on the application server. After reopening the project I deployed it successfully to the bpel server. The process is working fine, but in the structure pane there is no information about any of the xsds anymore and the payload in the variables there is an exception (problem building schema).
    How does bpel know where to look for the xsd-files and how does the mapping still work?
    This cannot be the way to do it correctly. Do I have a chance to rework an existing project or do I have to rebuild it from scratch in order to have all the references right?
    Thanks for any clue.
    Bette

  • Export Dictionary structure definitions to WSDL or XSD

    Hi all,
    I need to export some structure definitions from CRM 2007 to a XI instance. I have been told by the XI responsible that the ideal mechanism is that I provide him some WSDL or XSD files so he can import them.
    The point is: how do I export my ABAP Dictionary definitions to a WSDL?.
    I have tryed to do it already in an indirect way creating an ABAP Proxy, but I always get plenty of errors there and I am sure that has to be a faster and more elegant way to do it.
    Thanks in advance, lot of points for the one who solve it ;-).
    Best Regards,
    Luis V. de P.

    Hi Gonzalo,
    I dont think even if you convert into xsd it will go. The best would be to use XMLAnonymizerBean in your sender communication channel. Please see stefans blog for this:
    /people/stefan.grube/blog/2007/02/02/remove-namespace-prefix-or-change-xml-encoding-with-the-xmlanonymizerbean
    Regards,
    ---Satish

  • Problem Import WSDL with XSD import Schema

    Hi SCN, i have problem
    I have a WSDL that references an xsd, but the structure is not visible in PI.
       <wsdl:types>
          <xsd:schema targetNamespace="http://tempuri.org/Imports">
             <xsd:import schemaLocation="http://bilbolab****.net/ServiceItemHO.svc?xsd=xsd0" namespace="http://tempuri.org/" />
             <xsd:import schemaLocation="http://bilbolab.****.net/ServiceItemHO.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
             <xsd:import schemaLocation="http://bilbolab.*****.net/ServiceItemHO.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/ItemHO.BO" />
          </xsd:schema>
       </wsdl:types>
       <wsdl:message name="iVistaHO_AddItemHO_InputMessage">
          <wsdl:part name="parameters" element="tns:AddItemHO" />
       </wsdl:message>
    WSDL works well using SoapUI.
    When imported to PI parameters is not displayed
    I Need Help
    Thank you.

    Hi, Dihiansan. I don't understand your proposal
    I need you see the structure in PI how in SoapUI.
    It is possible?
    Regards

  • Parse WSDL and XSD

    Hi all,
    i have to parse a WSDL, i found the javax.wsdl.xml.WSDLReader. this permits to parse all but not the XSD inside the wsdl.
    i.e.
    the wsdl
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.example.org/NewWSDLFile/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="NewWSDLFile" targetNamespace="http://www.example.org/NewWSDLFile/">
      <wsdl:types>
        <xsd:schema targetNamespace="http://www.example.org/NewWSDLFile/">
          <xsd:element name="NewOperation">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="in" type="xsd:string"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="NewOperationResponse">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="out" type="xsd:string"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:schema>
      </wsdl:types>
      <wsdl:message name="NewOperationRequest">
        <wsdl:part element="tns:NewOperation" name="parameters"/>
      </wsdl:message>
      <wsdl:message name="NewOperationResponse">
        <wsdl:part element="tns:NewOperationResponse" name="parameters"/>
      </wsdl:message>
      <wsdl:portType name="NewWSDLFile">
        <wsdl:operation name="NewOperation">
          <wsdl:input message="tns:NewOperationRequest"/>
          <wsdl:output message="tns:NewOperationResponse"/>
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="NewWSDLFileSOAP" type="tns:NewWSDLFile">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="NewOperation">
          <soap:operation soapAction="http://www.example.org/NewWSDLFile/NewOperation"/>
          <wsdl:input>
            <soap:body use="literal"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="NewWSDLFile">
        <wsdl:port binding="tns:NewWSDLFileSOAP" name="NewWSDLFileSOAP">
          <soap:address location="http://www.example.org/"/>
        </wsdl:port>
      </wsdl:service>
    </wsdl:definitions>the code used:
                    WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
                    Definition def = reader.readWSDL("NewWSDLFile.wsdl");
                    System.out.println(def.toString());the result
    Retrieving document at 'NewWSDLFile.wsdl'.
    Definition: name={http://www.example.org/NewWSDLFile/}NewWSDLFile targetNamespace=http://www.example.org/NewWSDLFile/
    Types:
    SchemaExtensibilityElement ({http://www.w3.org/2001/XMLSchema}schema):
    required=null
    element=[xsd:schema: null]
    Message: name={http://www.example.org/NewWSDLFile/}NewOperationResponse
    Part: name=parameters
    elementName={http://www.example.org/NewWSDLFile/}NewOperationResponse
    Message: name={http://www.example.org/NewWSDLFile/}NewOperationRequest
    Part: name=parameters
    elementName={http://www.example.org/NewWSDLFile/}NewOperation
    PortType: name={http://www.example.org/NewWSDLFile/}NewWSDLFile
    Operation: name=NewOperation
    style=REQUEST_RESPONSE
    Input: name=null
    Message: name={http://www.example.org/NewWSDLFile/}NewOperationRequest
    Part: name=parameters
    elementName={http://www.example.org/NewWSDLFile/}NewOperation
    Output: name=null
    Message: name={http://www.example.org/NewWSDLFile/}NewOperationResponse
    Part: name=parameters
    elementName={http://www.example.org/NewWSDLFile/}NewOperationResponse
    Binding: name={http://www.example.org/NewWSDLFile/}NewWSDLFileSOAP
    PortType: name={http://www.example.org/NewWSDLFile/}NewWSDLFile
    Operation: name=NewOperation
    style=REQUEST_RESPONSE
    Input: name=null
    Message: name={http://www.example.org/NewWSDLFile/}NewOperationRequest
    Part: name=parameters
    elementName={http://www.example.org/NewWSDLFile/}NewOperation
    Output: name=null
    Message: name={http://www.example.org/NewWSDLFile/}NewOperationResponse
    Part: name=parameters
    elementName={http://www.example.org/NewWSDLFile/}NewOperationResponse
    BindingOperation: name=NewOperation
    BindingInput: name=null
    SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
    required=null
    use=literal
    BindingOutput: name=null
    SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
    required=null
    use=literal
    SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap/}operation):
    required=null
    soapActionURI=http://www.example.org/NewWSDLFile/NewOperation
    SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap/}binding):
    required=null
    transportURI=http://schemas.xmlsoap.org/soap/http
    style=document
    Service: name={http://www.example.org/NewWSDLFile/}NewWSDLFile
    Port: name=NewWSDLFileSOAP
    Binding: name={http://www.example.org/NewWSDLFile/}NewWSDLFileSOAP
    PortType: name={http://www.example.org/NewWSDLFile/}NewWSDLFile
    Operation: name=NewOperation
    style=REQUEST_RESPONSE
    Input: name=null
    Message: name={http://www.example.org/NewWSDLFile/}NewOperationRequest
    Part: name=parameters
    elementName={http://www.example.org/NewWSDLFile/}NewOperation
    Output: name=null
    Message: name={http://www.example.org/NewWSDLFile/}NewOperationResponse
    Part: name=parameters
    elementName={http://www.example.org/NewWSDLFile/}NewOperationResponse
    BindingOperation: name=NewOperation
    BindingInput: name=null
    SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
    required=null
    use=literal
    BindingOutput: name=null
    SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
    required=null
    use=literal
    SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap/}operation):
    required=null
    soapActionURI=http://www.example.org/NewWSDLFile/NewOperation
    SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap/}binding):
    required=null
    transportURI=http://schemas.xmlsoap.org/soap/http
    style=document
    SOAPAddress ({http://schemas.xmlsoap.org/wsdl/soap/}address):
    required=null
    locationURI=http://www.example.org/as you can see there's no line that say what kind of data there are inside the message .
    these lines are not mentioned:
      <xsd:element name="NewOperation">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="in" type="xsd:string"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="NewOperationResponse">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="out" type="xsd:string"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>any ideas about how to read the types of the messages?
    Edited by: ELStefen on 11-nov-2009 10.55

    Farhan_Khan wrote:
    Can you please elaborate a little more on the following
    if you want to parse the XSD you have to take the string between the <type> </type>
    - How do I do this ?
    takes the wsdl as string, takes the position of <type> and </type>. Now you can simply remove all the rest and keep all the string inside these 2 word.
    and add all the namespace of the wsdl (this step is very important, otherwise it not works).
    - No clue about this. Please explain.
    This is a tricky way that i discovered.
    SimpleXML wants all the namespaces involved into the Types. Sometimes these namespaces are written in the top of the wsdl but you don't have these information in the XSD.
    So replace the XSD header adding (replace the string) all the namespaces found inside the wsdl.
    Note:- I've been working on this for the last 3 weeks but no success and nobody ready to help. Your help would be greatly appreciated.
    Thanks
    Farhanthis is an example, i don't remember what it does :D
    package invokation;
    import java.io.*;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.StringTokenizer;
    import java.util.Map.Entry;
    import org.apache.ws.commons.schema.XmlSchema;
    import org.apache.ws.commons.schema.XmlSchemaElement;
    import org.apache.ws.commons.schema.XmlSchemaImport;
    import org.apache.ws.commons.schema.XmlSchemaObject;
    import org.apache.ws.commons.schema.XmlSchemaObjectTable;
    import javax.wsdl.Definition;
    import javax.wsdl.factory.WSDLFactory;
    import javax.wsdl.xml.WSDLReader;
    import javax.xml.namespace.QName;
    import javax.xml.transform.stream.StreamSource;
    import org.apache.ws.commons.schema.XmlSchemaCollection;
    * @author Stefano Tranquillini
    public class ParserXSD {
          * @deprecated
          * @param args
         public static void main(String[] args) {
              new ParserXSD().ParseXSD("Test.wsdl");
         private static ArrayList<QName> namespaces(String wsdl) {
              try {
                   WSDLReader reader = WSDLFactory.newInstance().newWSDLReader();
                   Definition def = reader.readWSDL(wsdl);
                   reader.setFeature("javax.wsdl.verbose", true);
                   reader.setFeature("javax.wsdl.importDocuments", true);
                   // Namespaces
                   // read all the namespaces
                   Map nss = def.getNamespaces();
                   ArrayList<QName> ns = new ArrayList<QName>();
                   for (Iterator iterator = nss.entrySet().iterator(); iterator
                             .hasNext();) {
                        Entry e = (Entry) iterator.next();
                        ns.add(new QName("" + e.getKey(), "" + e.getValue()));
                   return ns;
              } catch (Exception e) {
                   e.printStackTrace();
                   return null;
         private static InputStream parseStringToIS(String str) {
              if (str == null)
                   return null;
              str = str.trim();
              java.io.InputStream in = null;
              try {
                   in = new java.io.ByteArrayInputStream(str.getBytes("UTF-8"));
              } catch (Exception ex) {
              return in;
         public static ArrayList<QName> ParseXSD(String filename) {
              ArrayList<QName> ret = new ArrayList<QName>();
              try {
                   ArrayList<QName> ns = namespaces(filename);
                   // read the all namesapces
                   // and add they at schema
                   File f = new File(filename);
                   FileInputStream fis = new FileInputStream(f);
                   InputStreamReader isr = new InputStreamReader(fis);
                   BufferedReader br = new BufferedReader(isr);
                   String linea = br.readLine();
                   String all = "";
                   while (linea != null) {
                        linea = br.readLine();
                        all = all + linea;
                   // extract only the types
                   int start = all.indexOf("<wsdl:types>") + "<wsdl:types>".length();
                   int end = all.indexOf("</wsdl:types>");
                   String xsd = "";
                   // not sure about this if
                   if (start >= 0 && end > start) {
                        xsd = all.substring(start, end);
                   } else {
                        xsd = all;
                   String ns_toAdd = "";
                   for (QName qname : ns) {
                        ns_toAdd += " xmlns:" + qname.getNamespaceURI() + "=\""
                                  + qname.getLocalPart() + "\"";
                   xsd = xsd.replace("schema ", "schema " + ns_toAdd + " ");
                   xsd = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + xsd;
                   // end namespace addition
                   // read the xsd and extract information
                   System.out.println(xsd);
                   InputStream is = parseStringToIS(xsd);
                   XmlSchemaCollection schemaCol = new XmlSchemaCollection();
                   XmlSchema schema = (XmlSchema) schemaCol.read(new StreamSource(is),null);
                   System.out.println();
    //now here i don't remember.
    //try to takes information from schema
                   if (schema.getIncludes().getCount() > 0) {
                        for (int i = 0; i < schema.getIncludes().getCount(); i++) {
                             XmlSchemaImport xmlso = (XmlSchemaImport) schema
                                       .getIncludes().getItem(i);
                             XmlSchemaObjectTable elements = xmlso.getSchema().getElements();
                             schema.write(System.out);
                             System.out.println(elements.getCount());
                             for (Iterator iterator = elements.getNames(); iterator
                                       .hasNext();) {
                                  // extract the QNAME of each operation used in the SOAP
                                  // MESSAGE
                                  QName name = (QName) iterator.next();
                                  ret.add(name);
                   XmlSchemaObjectTable elements = schema.getElements();
                   schema.write(System.out);
                   System.out.println(elements.getCount());
                   for (Iterator iterator = elements.getNames(); iterator.hasNext();) {
                        // extract the QNAME of each operation used in the SOAP MESSAGE
                        QName name = (QName) iterator.next();
                        ret.add(name);
                   System.out.println(ret);
                   return ret;
              } catch (Exception e) {
                   e.printStackTrace();
                   return ret;
    }

  • Where we get the OutboundMessageService.WSDL OutboundMessageService.XSD files?

    Hi Gurus,
    Where we can download the follwing file for the webservice integration. Is it availble in OER?
         OutboundMessageService.WSDL
         OutboundMessageService.XSD
    Thanks in Advance,
    Mohan

    Hi,
    No, the WSDL and XSD for this are not in OER currently since it catalogs only the webservices Fusion Applications contains, but it seems useful addition so I'll see if we can get them added.
    If you have an on-premises instance you can find it in Enterprise Manager, going to the crmCommon weblogic server, from the menu selecting Webservices, and finding the OutboundMessageServiceSoapHttpPort from the list under J2EE Intrastructure Webservices. Also you can use the Test Webservice feature in EM to shows and parse the WSDL at http://[myinstance]/crmCommonSalesParties/OutboundMessageService?wsdl
    This is the same format for the SOAP message triggered by the Object Workflow and sent to the remote system endpoint.
    Hope this helps
    Richard
    FA Developer Relations - blogs.oracle.com/fadevrel

  • How to convert wsdl to xsd with detail steps?

    Hi All,
    Please explain me how to convert wsdl to xsd or any tools are there to convert. If so please tell me step by step procedure.
    Thanks in Advance,
    Sreenu.

    Hi Sreenivas,
    I doubt if this is possible.
    WSDLs are web services definitions while XSDs are XML structure definitions. I dont think its possible convert between the two.
    Maybe [this link|http://www.mail-archive.com/[email protected]/msg19446.html//www.mail-archive.com/[email protected]/msg19446.html] gives a clue for a manual method.
    Regards,
    Riyaz
    Edited by: Riyaz Sayyad on Jul 14, 2008 2:52 PM

  • WSDL missing xsd:annotation & xsd:appinfo tags for new field

    Hi,
    I was recently asked to add a new field to a service interface.  I made the changes to the Data Type and Mapping as appropriate and after activating those changes went to the Sender Agreement to save the WSDL in a file so I can handle it to our business partner (I created the file on the IB under Sender Agreement-->Display WSDL).  During the testing of interface using webservice navigator response gave an exception. We checked the WSDL file and the new field is there but it's missing the  <xsd:annotation> & <xsd:appinfo> tags (which all of the other fields have).
    Here's an extract of how the WSDL looks, the new field is URI, ORG_NM2, ORG_NM3:
    <xsd:element name="IV_J_1IPANREF" type="xsd:string">
                      <xsd:annotation>
                         <xsd:appinfo source="http://sap.com/xi/TextID">
                         c6a198762dd811e48dab0c84dcced6b4
                         </xsd:appinfo>
                      </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="URI" type="xsd:string" />
                   <xsd:element name="ORG_NM2" type="xsd:string" />
                   <xsd:element name="ORG_NM3" type="xsd:string" />
    As you can see the annotation and appinfo tags are missing for the new field URI ORG_NM2, ORG_NM3,.  I think this might be the reason why they don't see the new field when they upload the WSDL to their system.   Is there something else I need to do for the WSDL to be generated correctly?
    Please suggest urgently.
    Neeraj

    Hi Luis,
    You are right fields are coming correctly but when I am testing the wsdl using webservice navigator or SOAP UI I am getting the below exception:
    com.sap.engine.services.webservices.jaxrpc.exceptions.XmlUnmarshalException: XML Deserialization Error. XML Parser has thrown exception while parsing input. See nested exception.
    Error Log:
    <!-- see the documentation -->
    <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><![CDATA[
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Application:EXCEPTION_DURING_EXECUTE:
      at com.sap.aii.adapter.soap.web.SOAPHandler.processSOAPtoXMB(SOAPHandler.java:765)
    I though that since missing of these two <xsd:annotation> & <xsd:appinfo> tag may be the ssue because after adding new fields this was the only difference in WSDL.
    Regards,
    Neeraj

  • Generating wsdl form xsd

    Hi,
    I have to call a RPC functions with Axis but in documentation there are only xsd schema files and not a wsdl definition for the service that I want to call.
    The xsd file are present in http://download1.swsoft.com/Plesk/Plesk7.5/Doc/plesk-7.5r-sdk-html/docs/plesk_agent/index.html for all points 4.x.
    Could you anyone help me to do that ?
    Is there any tools or reference doc to convert it ?
    Thanks a lot for all help

    According to wsdl standards, you can create with xsd:any type, but how it is implemented with RFC , I have not much idea..
    Regards,
    Piyush

  • JAX-WS generated WSDL uses xsd:import and no option to inline schemas

    Is it possible to configure JAX-WS 2.0/2.1 so that when generating WSDL at runtime it will inline the schema definitions instead of using the <xsd:import> method? Unfortunately, some clients (Adobe Flex, for example) do NOT know how to process schema imports. I realize that Adobe (and others) should fix the problem on their end and become fully spec compliant, but the cold reality is that they are not.
    Any advice, suggestions, or solutions would be greatly appreciated.
    Regards,
    Todd

    You should post this question either to the JAXB 2.0 and JAX-WS 2.0 forum (http://forums.java.net/jive/forum.jspa?forumID=46) or the JAX-WS dev mailing list ([email protected]) so that the team is aware of the issue.
    That functionality currently does not exist. The only work around that I am aware of is to generate the WSDL before deployment and rearrange it as necessary.

  • Wsdl and xsd

    Hi,
    I have 2 web services which use the same complex type. The complex types are described in each wsdl-file. Now I have described the complex type in a schema file (xsd). I have the problem, how can I reference the xsd in the wsdl. I think I have to do the following:
    …
    <types>
    <schema
    targetNamespace="http://DBSW/GetTW"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <include location=“anyURI“/>
    </schema>
    </types>
    …
    I will use the same xsd for both web services. But I don’t know, how I can get the xsd of the oc4j-Server? Or can I reference a xsd which is saved on my computer?
    I created the web services with JDeveloper 10g,10.1.2 build 1811. I use an Oracle Application Server Containers for J2EE 10g (10.1.2.0.0).
    Can anybody give me detailed information to this problem.
    Regards,
    Sabine

    Hi,
    I have 2 web services which use the same complex type. The complex types are described in each wsdl-file. Now I have described the complex type in a schema file (xsd). I have the problem, how can I reference the xsd in the wsdl. I think I have to do the following:
    …
    <types>
    <schema
    targetNamespace="http://DBSW/GetTW"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <include location=“anyURI“/>
    </schema>
    </types>
    …
    I will use the same xsd for both web services. But I don’t know, how I can get the xsd of the oc4j-Server? Or can I reference a xsd which is saved on my computer?
    I created the web services with JDeveloper 10g,10.1.2 build 1811. I use an Oracle Application Server Containers for J2EE 10g (10.1.2.0.0).
    Can anybody give me detailed information to this problem.
    Regards,
    Sabine

  • Import WSDL with xsd:long incorrectly results in INT4

    When importing a WSDL, all fields marked as xsd:long result in INT4 in the proxy class. But long is [supposed to be|http://www.w3schools.com/schema/schema_dtypes_numeric.asp] 8-byte (64 bit). We thus get the following error:
    SOAP:1.001 CX_SY_CONVERSION_OVERFLOW:XSLT exception.
    An error occurred when deserializing in the simple transformation program
    /1SAI/TXS291D096A2B8E35E8375E.
    Overflow converting from '2147483648'
    <xsd:element minOccurs="0" name="Available" type="xsd:long"/>

    Hello Marc
    The only way is to manually edit the WSDL file and replace xsd:long
    with xsd:string with pattern="\d+" and length="<n>"or
    xsd:decimal with fractionDigits="0" totalDigigs="<n>"
    Afterwarts regenerate proxy and you'll see that the
    technical ABAP-Type is changed to STRG/DEC.
    addtional info:
    We recomment to use
    xsd:decimal with totalDigits="19"
    fractionDigits="0"
    This is the shortest DEC that is big enought to accept the largest
    xsd:long.
    Future sight:
    In release SAP_BASIS 702 this workaround is already fixed,
    here you can change the technical type for xsd:long in proxy
    editor directly to STRG or DEC(0,19) without modify the WSDL.
    Thanks
    Kenny

  • DCA-40002: Failed to read WSDL from xsd

    Hi,
    I am a newbie to JDeveloper, we are using Oracle JDeveloper 11g to consume a web service from PeopleSoft 9.0.
    We have a WSDL based on a PeopleSoft Component Interface. We can view the wsdl document through the PeopleSoftServiceListeningConnector URL and it appears ok.
    However, when we create a new Web Service Data Control in JDeveloper, it presents us with the following error:
    DCA-40002: The WSDL document is invalid due to the following reason: java.io.IOException: Failed to read WSDL from
    http://machine:port/PSIGW/PeopleSoftServiceListeningConnector/M999999.V1.xsd:
    HTTP connection error code is 500.
    Any advice would be appreciated.
    Thanks in advance.
    Regards,
    Dan

    Hi, after 1 1/2 years you can assume the thread to be closed. So please open your own thread and make sure the WSDL file is accessible from a browser URL.
    Frank

  • Need help in creating XSD for a WSDL file to tranform given XML

    Hi,
    Please let me knoe if this is the right forum to post the query below:
    We are trying to transform a XML output from a webservice using a XSD file. But we are facing problem as the XML output has some namespace issue and schema due to which transformation is not working fine. I am pasting the files below:
    WSDL file used is
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions 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:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/Projectix20/SOAPAccess" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/Projectix20/SOAPAccess" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/Projectix20/SOAPAccess">
    <s:element name="ExecuteSQLToXML">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="SQL" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="ExecuteSQLToXMLResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ExecuteSQLToXMLResult">
    <s:complexType mixed="true">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="NewDataSet">
    <s:complexType>
    <s:choice>
    <s:element minOccurs="0" maxOccurs="unbounded" name="Table1">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="10" name="FName" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:choice>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="GetDataTablePage">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="SQL" type="s:string" />
    <s:element minOccurs="1" maxOccurs="1" name="PageNumber" type="s:int" />
    <s:element minOccurs="1" maxOccurs="1" name="RecordsPerPage" type="s:int" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="GetDataTablePageResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="GetDataTablePageResult">
    <s:complexType mixed="true">
    <s:sequence>
    <s:any />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="GetRecordCount">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="SQL" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="GetRecordCountResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="GetRecordCountResult" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="UploadCanAtt">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="CanID" type="s:int" />
    <s:element minOccurs="0" maxOccurs="1" name="Filename" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="bytesData" type="s:base64Binary" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="UploadCanAttResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="UploadCanAttResult" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="DownloadCanAtt">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="CanAttID" type="s:int" />
    <s:element minOccurs="0" maxOccurs="1" name="GUID" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="DownloadCanAttResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="DownloadCanAttResult" type="s:base64Binary" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="ExecuteSQLToXMLSoapIn">
    <wsdl:part name="parameters" element="tns:ExecuteSQLToXML" />
    </wsdl:message>
    <wsdl:message name="ExecuteSQLToXMLSoapOut">
    <wsdl:part name="parameters" element="tns:ExecuteSQLToXMLResponse" />
    </wsdl:message>
    <wsdl:message name="GetDataTablePageSoapIn">
    <wsdl:part name="parameters" element="tns:GetDataTablePage" />
    </wsdl:message>
    <wsdl:message name="GetDataTablePageSoapOut">
    <wsdl:part name="parameters" element="tns:GetDataTablePageResponse" />
    </wsdl:message>
    <wsdl:message name="GetRecordCountSoapIn">
    <wsdl:part name="parameters" element="tns:GetRecordCount" />
    </wsdl:message>
    <wsdl:message name="GetRecordCountSoapOut">
    <wsdl:part name="parameters" element="tns:GetRecordCountResponse" />
    </wsdl:message>
    <wsdl:message name="UploadCanAttSoapIn">
    <wsdl:part name="parameters" element="tns:UploadCanAtt" />
    </wsdl:message>
    <wsdl:message name="UploadCanAttSoapOut">
    <wsdl:part name="parameters" element="tns:UploadCanAttResponse" />
    </wsdl:message>
    <wsdl:message name="DownloadCanAttSoapIn">
    <wsdl:part name="parameters" element="tns:DownloadCanAtt" />
    </wsdl:message>
    <wsdl:message name="DownloadCanAttSoapOut">
    <wsdl:part name="parameters" element="tns:DownloadCanAttResponse" />
    </wsdl:message>
    <wsdl:portType name="SOAPAccessSoap">
    <wsdl:operation name="ExecuteSQLToXML">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Executes a SQL statement and returns a generic XML document with results from SQL statement.</documentation>
    <wsdl:input message="tns:ExecuteSQLToXMLSoapIn" />
    <wsdl:output message="tns:ExecuteSQLToXMLSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetDataTablePage">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Executes a SQL statement and returns a generic XML document with results from SQL statement.</documentation>
    <wsdl:input message="tns:GetDataTablePageSoapIn" />
    <wsdl:output message="tns:GetDataTablePageSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRecordCount">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Executes a SQL statement and returns a generic XML document with results from SQL statement.</documentation>
    <wsdl:input message="tns:GetRecordCountSoapIn" />
    <wsdl:output message="tns:GetRecordCountSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="UploadCanAtt">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Uploads a text or binary attachment file for a Candidate record.</documentation>
    <wsdl:input message="tns:UploadCanAttSoapIn" />
    <wsdl:output message="tns:UploadCanAttSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="DownloadCanAtt">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Uploads a text or binary attachment file for a Candidate record.</documentation>
    <wsdl:input message="tns:DownloadCanAttSoapIn" />
    <wsdl:output message="tns:DownloadCanAttSoapOut" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="SOAPAccessSoap" type="tns:SOAPAccessSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="ExecuteSQLToXML">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/ExecuteSQLToXML" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetDataTablePage">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/GetDataTablePage" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRecordCount">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/GetRecordCount" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UploadCanAtt">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/UploadCanAtt" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DownloadCanAtt">
    <soap:operation soapAction="http://tempuri.org/Projectix20/SOAPAccess/DownloadCanAtt" style="document" />
    <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="SOAPAccess">
    <wsdl:port name="SOAPAccessSoap" binding="tns:SOAPAccessSoap">
    <soap:address location="http://sales.projectix.com:81/customer/SOAPAccess.asmx" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    XSD file used for transformation is:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >
    <xs:element name="ExecuteSQLToXMLResponse">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="ExecuteSQLToXMLResult"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="parameters">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="ExecuteSQLToXMLResponse"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="ExecuteSQLToXMLResult">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="NewDataSet"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="FNAME" type="xs:string"/>
    <xs:element name="Table1">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="FNAME"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="NewDataSet">
    <xs:complexType>
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" ref="Table1"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    XML Output from webservice call that we are trying to tranform using above XSD is:
    <parameters >
    <ExecuteSQLToXMLResponse xmlns = "http://tempuri.org/Projectix20/SOAPAccess" >
    <ExecuteSQLToXMLResult >
    <NewDataSet xmlns = "" >
    <xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema" xmlns:msdata = "urn:schemas-microsoft-com:xml-msdata" >
    <xs:element name = "NewDataSet" msdata:IsDataSet = "true" >
    <xs:complexType >
    <xs:choice maxOccurs = "unbounded" >
    <xs:element name = "Table1" >
    <xs:complexType >
    <xs:sequence >
    <xs:element name = "FNAME" type = "xs:string" minOccurs = "0" ></xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    <Table1 >
    <FNAME >
    JOHN
    </FNAME>
    </Table1>
    <Table1 >
    <FNAME >
    John
    </FNAME>
    </Table1>
    <Table1 >
    <FNAME >
    John
    </FNAME>
    </Table1>
    <Table1 >
    <FNAME >
    JOHN
    </FNAME>
    </Table1>
    <Table1 >
    <FNAME >
    John
    </FNAME>
    </Table1>
    </NewDataSet>
    </ExecuteSQLToXMLResult>
    </ExecuteSQLToXMLResponse>
    </parameters>
    I am not sure what we are missing in XSD file that the XML output is not getting transformed correctly...although we tried transforming the XML output by removing some information in XML output above and it was getting trasformed properly..
    We remove
    1. xmlns = "http://tempuri.org/Projectix20/SOAPAccess" from <ExecuteSQLToXMLResponse xmlns = "http://tempuri.org/Projectix20/SOAPAccess" >
    2. xmlns = "" from <NewDataSet xmlns = "" >
    3 remove <parameters > and </parameters > tags from output and the XML Output is getting tranformed correctly.
    Please let us know if we can transform the XML Output without requiring these removals.
    Thanks,
    Pawan

    Could you clarify some things? You are saying you are trying to transform the xml output of a webservice with an xsd, but an xsd is a schema that describes the allowed format of a xml file. If you want to transform xml from one format to an other (from one xsd to an other) you have to use a xsl file. You can make and test this with JDeveloper. Are you calling the webservice from esb or bpel?
    Kind Regards,
    Andre

Maybe you are looking for