XML structure of the request message

Hi Experts,
I am working on synchronous scenario
.Net Appl ->SAP-XI -> SAP ECC
The request from .Net Application will consists of 6 fields.
A field : Mandatory
B field : Mandatory
C field : Mandatory  and should be able to read multiple line item
D field : Not Required and will be defaulted to 1
E field : Mandatory  if field F is not entered
F field : Mandatory  if field E is not enetred.
I have to create the WSDL file of the above request and provide it to .Net team. The field condition
will be done in the application level of the sender side.That means it is 1 to 1 mapping of the senders
request and receivers request.
Note : A, B, D are header items, rest are line items.
I have doubt on the following:
1. Would I have to create 1 parent node under which Header will be there  and all the line items will be under this header node.
2. What would be the cardinality of the header node , line item node and all other fields especially field C (1: unbounded).
Best Regards
Alice Rebecca
Edited by: Alice@xi on Dec 18, 2011 3:44 PM

Hello,
1. Would I have to create 1 parent node under which Header will be there and all the line items will be under this header node.
Yes, you would need to create a parent node, but with regards to which line items will belong a which header, you need to consult with the sender.
2. What would be the cardinality of the header node , line item node and all other fields especially field C (1: unbounded).
Root
A (1..1) (mandatory)
B (1..1) (mandatory)
C (1..unbounded) (C belongs to which header?)
D (1..1) (defaults to 1)
E (0..1) (E belongs to which header?)
F (0..1) (F belongs to which header?)
Hope this helps,
Mark

Similar Messages

  • Need to add xml tag in the request message

    Hello Experts,
    Need ur help.
    Right now i am working on the scenario Http -> to -> Proxy.
    Whatever request i am getting is not having XML tag in it, and because of that my mapping is failing.
    Can you tell me that how can i add XML tag in my request so it will not fail in Mapping?
    Need to add : <?xml version="1.0" encoding="UTF-8"?> in request.
    Thanks,
    Hetal

    HI Hetal
    Instead of adding this to the source message. Remove this tag from mapping.
    Use a XSLT mapping without this initial tag. it will work.
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://namespace">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
    <xsl:template match="/">
    <xsl:for-each select="//tag">
    <xsl:value-of select="." disable-output-escaping="yes"/>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    Use this mapping without
    <?xml version="1.0" encoding="UTF-8"?>
    If you still see XML tag then use
    <xsl:output method="html"
    instead of
    <xsl:output method="xml"
    Thanks
    Gaurav

  • Can't login to gmail 503 80104: System is unavailable to support the request message

    Won't let me do anything on the phone - have to login to gmail and get the above message.  Gmail works fine on the computer.  Brand new phone - 24 hrs old.

    I ran into this problem trying to set up a second Yahoo email address through the system client on my Samsung Galaxy Note 2.  Here's what solved it for me.  I doubt all these steps are necessary, maybe only the last one, but here's how it worked for me.
    I cleared the cache and the data (which cleared out my still-working first Yahoo account), restarted the phone, tried setting up the second Yahoo account again, but it still didn't work. 
    So then I tried setting up the first Yahoo email again.  That worked fine (again). 
    So I tried the second Yahoo account again.  Still didn't work.
    Then, for whatever reason, I tried setting up the second Yahoo account again but instead of choosing "Yahoo" as the account type, I chose "Others".  Bingo.  It worked just fine.
    Out of curiosity, I really want to try setting up the second account again using "Yahoo" as the type to see what happens, but I don't want to rock the boat.  I'm just happy it's working.

  • XML source for invoking BP's with multiple parts in request message

    Usually I check the box Save as default input when invoking a process from the console to get at the XML version of the request message.
    However, this doesn't seem to work when the request message consists of multiple parts.
    What should the format be in this scenario?
    Toby

    Dave, not sure if you still are looking for an answer but i hate seeing unreplied posts so i felt i needed to post something. I'm just beginning with this stuff as well so take my suggestions with a grain of salt....or a beer. Anyways, case 2 would show that you are getting your parameters through properly because the "deserialization" errror is targetted towards the soap reply. Most likely you are trying to receive back a none primitive type. :-D i.e. such as the problem that i'm having.
    hope that helps somewhat.
    graeme.

  • Request message mapping giving blank xml message

    I was trying a scenario JDBC-> XI -> RFC for tranporting the db table data from sqlserver to sap r/3.
    At the time of designing the mapping is working correctly.
    But in the pipeline step "Request message mapping" it is generating the inbound message but with any values from outbound source message.
    source message (xml ) structure
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:CUST_REQ_MT xmlns:ns0="urn:sqlserver:vendor">
      <row>
        <NAME></NAME>
        <ADDRESS></ADDRESS>
        <AGE></AGE>
        <LOGIN></LOGIN>
        <PASSWORD></PASSWORD>
      </row>
    </ns0:CUST_REQ_MT>
    and target message structure is
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:ZBAPI_UPDATE_JDBC xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
      <UPDATE>
        <item>
          <NAME></NAME>
          <ADDRESS></ADDRESS>
          <AGE></AGE>
          <LOGIN></LOGIN>
          <PASSWORD></PASSWORD>
        </item>
      </UPDATE>
    </ns0:ZBAPI_UPDATE_JDBC>
    I have used the Graphical mapping tool for mapping these two MT's.
    the payload in the request message mapping step is as follows:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:ZBAPI_UPDATE_JDBC xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
    - <UPDATE>
      <item />
      </UPDATE>
      </ns0:ZBAPI_UPDATE_JDBC>
    here you can see a blank tag <item/>.
    How can i resolve this issue. I can not see any error anywhere.
    Regards,
    Gopesh

    Hi,
    It is not the issue of the datatype for outbound message for jdbc sender.
    I have done the Graphical mapping and mapped the sourse message type to target message type (which is a rfc xml format request message type).
    But when all the IR and ID objects activated and it comes to Runtime (integration server) then it is unable to execute the mapping in the xi pipeline step "Request Message Mapping" and generating a blank xml element as i have described earlier in my message.
    What should i do or where should i check for the possible reasons and what could be the solution for this issue.
    Regards
    Gopesh

  • How to modify Source XML Structure as it is getting Fail in message Mapping

    From Client , I am Gettin Such XML Structure in XML File ...But it is getting failed in Message Mapping ,.,,
    <?xml version="1.0"?>
    <invoice>
       <Header>
          <DOCID>0001</DOCID>
          <DOCNO>0001</DOCNO>
          <INVAMT>1000</INVAMT>
       </Header>
    </invoice>
    I tried to find out few things ...
    On test of mesage mapping
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:invoice xmlns:ns0="urn:sample.com:file:file">
       <Header>
          <DOCID>0001</DOCID>
          <DOCNO>0001</DOCNO>
          <INVAMT>1000</INVAMT>
       </Header>
    </ns0:invoice>
    This mapping is getting successful.
    So Problem I found Is difference in Sender File Structure from autogenrated Source Structure in Test tab :  
    </invoice>
    and
    <ns0:invoice xmlns:ns0="urn:sample.com.com:Invoice:DB">
    Please Suggest : What to do ?
    How to add this ns0: before INVOICE and :ns0="urn:sample.com.com:Invoice:DB" after INVOICE in Source Structure.
    I am using PI 7.0
    regards
    Prabhat

    Hi Prabhat,
    the easiest way is to make the field XML Namespace of the source Message Type blank.
    Regards,
    Udo

  • Xml request message validation error

    Hi,
    My request message is :
    <?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <ns1:sum soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://service.bankfusion">
    <p1 href="#id0"/>
    <p2 href="#id1"/>
    </ns1:sum>
    <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">11</multiRef>
    <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">20</multiRef>
    </soapenv:Body>
    </soapenv:Envelope>
    and my xsd schema to validate the request message against are as follows:
    REQUEST.XSD
    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema id="Envelope" targetNamespace="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mstns="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://service.bankfusion" xmlns:app2="http://schemas.xmlsoap.org/soap/encoding/">
    <xs:import namespace="http://service.bankfusion" schemaLocation="request_app1.xsd" />
    <xs:import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="request_app2.xsd" />
    <xs:attribute name="encodingStyle" msdata:Prefix="soapenv" type="xs:string" />
    <xs:element name="Envelope" msdata:IsDataSet="true" msdata:Prefix="soapenv">
    <xs:complexType>
    <xs:choice maxOccurs="unbounded">
    <xs:element name="Body" msdata:Prefix="soapenv">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="app1:sum" />
    <xs:element name="multiRef" form="unqualified" nillable="true">
    <xs:complexType>
    <xs:simpleContent msdata:ColumnName="multiRef_Text" msdata:Ordinal="3">
    <xs:extension base="xs:string">
    <xs:attribute name="id" form="unqualified" type="xs:string" />
    <xs:attribute ref="app2:root" />
    <xs:attribute ref="mstns:encodingStyle" />
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    REQUEST_APP1.XSD
    <?xml version="1.0" standalone="yes"?>
    <xs:schema id="Envelope" targetNamespace="http://service.bankfusion" xmlns:mstns="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://service.bankfusion" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://service.bankfusion" xmlns:app2="http://schemas.xmlsoap.org/soap/encoding/">
    <xs:import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="request_app2.xsd" />
    <xs:import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="request.xsd" />
    <xs:element name="sum" msdata:Prefix="ns1">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="p1" form="unqualified">
    <xs:complexType>
    <xs:attribute name="href" form="unqualified" type="xs:string" />
    </xs:complexType>
    </xs:element>
    <xs:element name="p2" form="unqualified">
    <xs:complexType>
    <xs:attribute name="href" form="unqualified" type="xs:string" />
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    <xs:attribute ref="mstns:encodingStyle" />
    </xs:complexType>
    </xs:element>
    </xs:schema>
    REQUEST_APP2.XSD
    <?xml version="1.0" standalone="yes"?>
    <xs:schema id="Envelope" targetNamespace="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mstns="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app2="http://schemas.xmlsoap.org/soap/encoding/" xmlns:app1="http://service.bankfusion">
    <xs:import namespace="http://service.bankfusion" schemaLocation="request_app1.xsd" />
    <xs:import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="request.xsd" />
    <xs:attribute name="root" msdata:Prefix="soapenc" type="xs:string" />
    </xs:schema>
    My validation code is:
    public void validateRequest(ByteArrayInputStream isReqMsg) throws SAXException, IOException
    SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
    File schemaLocation = new File("request.xsd");
    try {
    Schema schema = factory.newSchema(schemaLocation);
    Validator validator = schema.newValidator();
    validator.validate(new StreamSource(isReqMsg));
    System.out.println("Request message is valid.");
    catch (SAXException ex) {
    System.out.println("Request message is invalid because ");
    System.out.println(ex.getMessage());
    System.out.println(ex.getStackTrace());
    throw ex;
    catch(IOException ie)
    System.out.println("Cannot read message because ");
    System.out.println(ie.getMessage());
    throw ie;
    The validator gives me the following error:
    org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.1: '#id0' is not a valid value for 'integer'.
    Can anybody help spot the error?
    Thanks!!
    Karan

    Hi,
    My request message is :
    <?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <ns1:sum soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://service.bankfusion">
    <p1 href="#id0"/>
    <p2 href="#id1"/>
    </ns1:sum>
    <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">11</multiRef>
    <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">20</multiRef>
    </soapenv:Body>
    </soapenv:Envelope>
    and my xsd schema to validate the request message against are as follows:
    REQUEST.XSD
    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema id="Envelope" targetNamespace="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mstns="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://service.bankfusion" xmlns:app2="http://schemas.xmlsoap.org/soap/encoding/">
    <xs:import namespace="http://service.bankfusion" schemaLocation="request_app1.xsd" />
    <xs:import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="request_app2.xsd" />
    <xs:attribute name="encodingStyle" msdata:Prefix="soapenv" type="xs:string" />
    <xs:element name="Envelope" msdata:IsDataSet="true" msdata:Prefix="soapenv">
    <xs:complexType>
    <xs:choice maxOccurs="unbounded">
    <xs:element name="Body" msdata:Prefix="soapenv">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="app1:sum" />
    <xs:element name="multiRef" form="unqualified" nillable="true">
    <xs:complexType>
    <xs:simpleContent msdata:ColumnName="multiRef_Text" msdata:Ordinal="3">
    <xs:extension base="xs:string">
    <xs:attribute name="id" form="unqualified" type="xs:string" />
    <xs:attribute ref="app2:root" />
    <xs:attribute ref="mstns:encodingStyle" />
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:choice>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    REQUEST_APP1.XSD
    <?xml version="1.0" standalone="yes"?>
    <xs:schema id="Envelope" targetNamespace="http://service.bankfusion" xmlns:mstns="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://service.bankfusion" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://service.bankfusion" xmlns:app2="http://schemas.xmlsoap.org/soap/encoding/">
    <xs:import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="request_app2.xsd" />
    <xs:import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="request.xsd" />
    <xs:element name="sum" msdata:Prefix="ns1">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="p1" form="unqualified">
    <xs:complexType>
    <xs:attribute name="href" form="unqualified" type="xs:string" />
    </xs:complexType>
    </xs:element>
    <xs:element name="p2" form="unqualified">
    <xs:complexType>
    <xs:attribute name="href" form="unqualified" type="xs:string" />
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    <xs:attribute ref="mstns:encodingStyle" />
    </xs:complexType>
    </xs:element>
    </xs:schema>
    REQUEST_APP2.XSD
    <?xml version="1.0" standalone="yes"?>
    <xs:schema id="Envelope" targetNamespace="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mstns="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app2="http://schemas.xmlsoap.org/soap/encoding/" xmlns:app1="http://service.bankfusion">
    <xs:import namespace="http://service.bankfusion" schemaLocation="request_app1.xsd" />
    <xs:import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="request.xsd" />
    <xs:attribute name="root" msdata:Prefix="soapenc" type="xs:string" />
    </xs:schema>
    My validation code is:
    public void validateRequest(ByteArrayInputStream isReqMsg) throws SAXException, IOException
    SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
    File schemaLocation = new File("request.xsd");
    try {
    Schema schema = factory.newSchema(schemaLocation);
    Validator validator = schema.newValidator();
    validator.validate(new StreamSource(isReqMsg));
    System.out.println("Request message is valid.");
    catch (SAXException ex) {
    System.out.println("Request message is invalid because ");
    System.out.println(ex.getMessage());
    System.out.println(ex.getStackTrace());
    throw ex;
    catch(IOException ie)
    System.out.println("Cannot read message because ");
    System.out.println(ie.getMessage());
    throw ie;
    The validator gives me the following error:
    org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.1: '#id0' is not a valid value for 'integer'.
    Can anybody help spot the error?
    Thanks!!
    Karan

  • ADDING xml to the SOAP Message from client

    Hi, does anyone know how to add an xml file to the SOAP message passed by the client to the server?
    I need to send an xml file, I have already tried attachments but they dont meet the purpose. I need to send the xml as part of the soap message in AXIS 1_4.
    I read this somewhere about
    SOAPEnvelope env = message.getSOAPEnvelope;
    env.addBodyElement( new RPCElement("SOAPaccess","webservicename", new
              Object[] { }) );
    FileInputStream file = new FileInputStream( "c:\\abcd.xml");
    SOAPBodyElement aBody = new SOAPBodyElement( file );
    file.close();
    env.addBodyElement( aBody );
              However I am not certain how to go about doing this in axis.
    I have been trying to find something related to this, but havent been able to.
    Please let me know if you know how to add xml file to the body of a SOAP message.

    If anyone is interested...I got this working,
    //b is the byte form of the xml document.
    InputStream is = new ByteArrayInputStream(b);
              Document doc =XMLUtils.newDocument(is);
              SOAPElement me = new MessageElement(doc.getDocumentElement());
              SOAPElement a=message.getSOAPBody().addChildElement(me);
              MessageContext mc=_call.getMessageContext();
              mc.setMessage(message);
              mc.getMessage().getSOAPBody().detachNode();
              SOAPBody sb = (SOAPBody)mc.getMessage().getSOAPPart().getEnvelope().addBody();
              sb.addChild(new MessageElement(doc.getDocumentElement()));
              mc.getMessage().saveChanges();
              System.out.println(mc.getMessage().getSOAPPart().getEnvelope());
              SOAPEnvelope env=(SOAPEnvelope)mc.getMessage().getSOAPPart().getEnvelope();

  • Special characters in XML structure when prepared using String

    Hi,
       I am preparing an XML structure using 'String'. I print the prepared XML structure in the server log. Issue is that I am seeing extra characters([[ and ]]) that I am not printing.
    Please let me know how to get rid of those.
    Code Excerpt
            String xmlHeader = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
            String lsb_xmlcon = xmlHeader;
            logger.info("ReqXMLString Process  1  --->" + lsb_xmlcon);
            lsb_xmlcon = lsb_xmlcon +("\n");
            logger.info("ReqXMLString Process  1.1  --->" + lsb_xmlcon);
            lsb_xmlcon = lsb_xmlcon +("<REQUEST>");
            lsb_xmlcon = lsb_xmlcon +("\n");
            logger.info("ReqXMLString Process  1.2  --->" + lsb_xmlcon);
    Log
    ReqXMLString Process  1  ---><?xml version="1.0" encoding="utf-8" ?>
    ReqXMLString Process  1.1  ---><?xml version="1.0" encoding="utf-8" ?>[[
    ReqXMLString Process  1.2  ---><?xml version="1.0" encoding="utf-8" ?>[[
    <REQUEST>
    Thanks,
    Message was edited by: 996913
    This issue is observed only while running the code in server, not from Jdev.
    When we append the additional tags without new line character, "\n", there are no extra characters being added. Also, in other case also. where we used "Marshaller" to prepare the XML, we have seen this issue.
    After we set the below property to false, we got rid of the extra characters.
                            jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, false);
    Apparently the insertion of new line when the code runs on server(Weblogic 10.3.6.0) is creating the issue.
    Please let me know if anyone has come across a similar scenario.
    Thanks,

    I am building this XML in a servlet so ,right, DOM does process XML (even though a valid HTML file can be loaded into a DOM object) but if you build XML using DOM then write the XML out using PrintWriter and Transformer objects this will cause the XML to print out in your browser. If you view source on this XML you will see that the DOM object has translated all special characters to there &xxxx; equivalent. For a example: when the string (I know "cool" java) gets loaded into a attribute using the DOM object then wrote back out it looks like (I know &xxx;cool&xxx; java) if you view the source in your browser. This is what it should do, but the DOM object is not change the � to the "&xxxxx;". This servlet is acting as a gateway between a Java API and a windows asp. The asp will call the servlet expecting to get XML back and load it directly into a DOM object. When the windows DOM object gets the xml that I am returning in this servlet is throws a exception "invalid character" because the � was not translated to &xxxx; like the other characters were. According to the book HTML 4 in 24 hours (and other references) the eacute; or #233; are how you say "�" in HTML or XML. How do you say it?

  • OSB Service callout losing fault info xml structure

    Hi there
    I have a proxy service (getAccount) that being called via service callout by getBilling.proxy service.
    getAccount throws a fault message that I want to catch in getBilling.
    But the original fault from getAccount somehow get lost the xml structure in the detail node. The "<" sign change into "&lt;"
    Am I missing something here. How the xml structure get lost in the detail node ?
    Here's the output:
    <soapenv:Body>
      <soapenv:Fault>
      <faultcode>soapenv:Server</faultcode>
      <faultstring>BEA-382502: OSB Service Callout action received an error response</faultstring>
      <detail>
         <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
         <con:errorCode>BEA-382502</con:errorCode>
         <con:reason>OSB Service Callout action received an error response</con:reason>
        <con:details>
           <con1:ErrorResponseDetail xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config">
           <con1:detail>
              &lt;ipms:fault xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ipms="http://www.indosat.com/ipms">
              &lt;ipms:faultcode>IPMS-5000&lt;/ipms:faultcode>
              &lt;ipms:faultstring>Account Not Found&lt;/ipms:faultstring>
              &lt;ipms:faultlocation>
              &lt;ipms:faultsource>/billing-stream/proxy/getAccount&lt;/ipms:faultsource>
             &lt;ipms:faultnode>RouteTo_getAccountByMsisdn_db&lt;/ipms:faultnode>
        &lt;ipms:faultpath>response-pipeline&lt;/ipms:faultpath>
      &lt;/ipms:faultlocation>
      &lt;ipms:detail>
        &lt;con:errorCode xmlns:con="http://www.bea.com/wli/sb/context">IPMS-5000&lt;/con:errorCode>
        &lt;con:reason xmlns:con="http://www.bea.com/wli/sb/context">Account Not Found&lt;/con:reason>
        &lt;con:location xmlns:con="http://www.bea.com/wli/sb/context">
          &lt;con:node>RouteTo_getAccountByMsisdn_db&lt;/con:node>
          &lt;con:path>response-pipeline&lt;/con:path>
        &lt;/con:location>
      &lt;/ipms:detail>
    &lt;/ipms:fault>
      </con1:detail>
      </con1:ErrorResponseDetail>
      </con:details>
      <con:location>
      <con:node>PipelinePairNode1</con:node>
      <con:pipeline>PipelinePairNode1_request</con:pipeline>
      <con:stage>stage1</con:stage>
      <con:path>request-pipeline</con:path>
      </con:location>
      </con:fault>
      </detail>
      </soapenv:Fault>
    </soapenv:Body>

    What's the content-type in the HTTP 500 response from the backend service? (not OSB proxy, but the original source of the fault)
    I suspect it is text/plain or just missing. OSB doesn't know it is XML, and so it escapes it.
    Vlad

  • The server was unable to process the request due to an internal error.

             
    Properties set in my project are below
    namespace EmployeeService
            public class Employee
                private int _Id;
                private string _Name;
                private string _Gender;
                private DateTime _DateofBirth;
                public int Id
                    get { return _Id; }
                    set { _Id = value; }
                public string Name
                    set { _Name = value; }
                    get { return _Name; }
                public string Gender
                    set { _Gender = value; }
                    get { return _Gender; }
                public DateTime DateofBirth
                    set { _DateofBirth = value; }
                    get { return _DateofBirth; }
    This is the service i have developed in my project 
    namespace EmployeeService
        // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in both code and config file together.
        public class EmployeeService : IEmployeeService
            public Employee GetEmployee(int Id)
                Employee objemp = new Employee();
                string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlConnection con = new SqlConnection(cs))
                    SqlCommand cmd = new SqlCommand("spGettblEmployeewcf", con);
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter Idparameter = new SqlParameter();
                    Idparameter.ParameterName = "@Id";
                    Idparameter.Value = Id;
                    cmd.Parameters.Add(Idparameter);
                    con.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                        objemp.Id = Convert.ToInt32(dr["Id"]);
                        objemp.Name = dr["Name"].ToString();
                        objemp.Gender = dr["Gender"].ToString();
                        objemp.DateofBirth = Convert.ToDateTime(dr["DateofBirth"]);
                return objemp;
            public void SaveEmployee(Employee objemp)
                string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlConnection con = new SqlConnection(cs))
                    SqlCommand cmd = new SqlCommand("spInsertEmployeewcf", con);
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter ParameterId = new SqlParameter()
                        Value = objemp.Id,
                        ParameterName = "@Id"
                    cmd.Parameters.Add(ParameterId);
                    SqlParameter ParameterName = new SqlParameter()
                        Value = objemp.Name,
                        ParameterName = "@Name"
                    cmd.Parameters.Add(ParameterName);
                    SqlParameter ParameterGender = new SqlParameter()
                        Value = objemp.Gender,
                        ParameterName = "@Gender"
                    cmd.Parameters.Add(ParameterGender);
                    SqlParameter ParameterDateofBirth = new SqlParameter()
                        Value = objemp.DateofBirth,
                        ParameterName = "@DateofBirth"
                    cmd.Parameters.Add(ParameterDateofBirth);
                    con.Open();
                    cmd.ExecuteNonQuery();
    The Service Contract  code is
    namespace EmployeeService
        // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
        [ServiceContract]
        public interface IEmployeeService
            [OperationContract]
            Employee GetEmployee(int Id);
            [OperationContract]
            void SaveEmployee(Employee objemp); 
            // TODO: Add your service operations here
        // Use a data contract as illustrated in the sample below to add composite types to service operations
    and i deployed the EmployeeService in iis and consuming the service in my web application the code is below
     protected void btnsave_Click(object sender, EventArgs e)
                EmployeeService.EmployeeServiceClient client = new EmployeeService.EmployeeServiceClient("basicHttpBinding");
                EmployeeService.Employee employee = new EmployeeService.Employee();
                employee.Id = Convert.ToInt32(txtid.Text);
                employee.Name = txtname.Text;
                employee.Gender = txtgender.Text;
                employee.DateofBirth = Convert.ToDateTime(txtdob.Text);
                client.SaveEmployee(employee);
            protected void btnget_Click(object sender, EventArgs e)
                EmployeeService.EmployeeServiceClient client = new EmployeeService.EmployeeServiceClient("basicHttpBinding");
                EmployeeService.Employee employee = client.GetEmployee(Convert.ToInt32(txtid.Text));
                txtname.Text = employee.Name;
                txtgender.Text = employee.Gender;
                txtdob.Text = employee.DateofBirth.ToShortDateString();
    and  when i am entering the details of employee Id,Name,Gender,DateofBirth and clicking save button iam getting the following error 
    The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior)
    on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs.
    Code in web.config file in Webapplication(Client) is the following
    <?xml version="1.0"?>
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
        <system.diagnostics>
            <sources>
                <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
                    <listeners>
                        <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                            <filter type="" />
                        </add>
                        <add name="ServiceModelMessageLoggingListener">
                            <filter type="" />
                        </add>
                    </listeners>
                </source>
                <source name="System.ServiceModel" switchValue="Warning, ActivityTracing"
                    propagateActivity="true">
                    <listeners>
                        <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                            <filter type="" />
                        </add>
                        <add name="ServiceModelTraceListener">
                            <filter type="" />
                        </add>
                    </listeners>
                </source>
            </sources>
            <sharedListeners>
                <add initializeData="C:\Users\HEMANTH\Desktop\Client\Client\Web_messages.svclog"
                    type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                    name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
                    <filter type="" />
                </add>
                <add initializeData="C:\Users\HEMANTH\Desktop\Client\Client\Web_tracelog.svclog"
                    type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                    name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
                    <filter type="" />
                </add>
            </sharedListeners>
            <trace autoflush="true" />
        </system.diagnostics>
        <system.web>
            <compilation debug="true" targetFramework="4.0" />
        </system.web>
        <system.serviceModel>
            <diagnostics>
                <messageLogging logEntireMessage="true" logMalformedMessages="true"
                    logMessagesAtTransportLevel="true" />
            </diagnostics>
            <bindings>
                <basicHttpBinding>
                    <binding name="basicHttpBinding" />
                </basicHttpBinding>
                <wsHttpBinding>
                    <binding name="mexHttpBinding">
                        <security mode="None" />
                    </binding>
                </wsHttpBinding>
            </bindings>
            <client>
                <endpoint address="http://localhost/EmployeeWebServices/EmployeeService.svc/basic"
                    binding="basicHttpBinding" bindingConfiguration="basicHttpBinding"
                    contract="EmployeeService.IEmployeeService" name="basicHttpBinding" />
                <endpoint address="http://localhost/EmployeeWebServices/EmployeeService.svc/mex"
                    binding="wsHttpBinding" bindingConfiguration="mexHttpBinding"
                    contract="EmployeeService.IEmployeeService" name="mexHttpBinding" />
            </client>
        </system.serviceModel>
    </configuration>
    Things i have tried till now are 
    1)changed the name of the name of the endpoint address basicHttpBinding to  basicHttpBinding_IEmployeeService but still get the save error.
    2)Opened the Message Log Trace. Got the error as follows
    <MessageLogTraceRecord>
    <HttpResponse xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace">
    <StatusCode>InternalServerError</StatusCode>
    <StatusDescription>Internal Server Error</StatusDescription>
    <WebHeaders>
    <Content-Length>730</Content-Length>
    <Cache-Control>private</Cache-Control>
    <Content-Type>text/xml; charset=utf-8</Content-Type>
    <Date>Sat, 03 Jan 2015 12:12:24 GMT</Date>
    <Server>Microsoft-IIS/7.5</Server>
    <X-AspNet-Version>4.0.30319</X-AspNet-Version>
    <X-Powered-By>ASP.NET</X-Powered-By>
    </WebHeaders>
    </HttpResponse>
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header></s:Header>
    <s:Body>
    <s:Fault>
    <faultcode xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher" xmlns="">a:InternalServiceFault</faultcode>
    <faultstring xml:lang="en-US" xmlns="">The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute
    or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs.</faultstring>
    </s:Fault>
    </s:Body>
    </s:Envelope>
    </MessageLogTraceRecord>
    Try to understand but could not understand because i'am new to wcf services. Please help me to find the error details.
    Thanks in advance
    Regards
    rax227 
                           

    Hi Mohan,
    I didn't use Fiddler before, I just download and use it but how to see the request message from this software?
    I have logged the request to event log before send to web service and copy this request from event log to testing with soapUI, so I don't think have between the actual messages being sent to your client via orchestration and soapui. In the log Response shape
    I see the fault response in event log.
    You can see
    this link to know how to use fiddler. As I suggested above the error you need to check is at the server side who is hosting the service( your party ) because you are getting fault response properly from them. The webservice you are calling seems to look
    like WCF service too. Your life would have been so easier if you could ask them to have firewall open from your dev box to their dev server so that you can use use "Add Service Reference" wizard, that even they have .NET wcf service too. 
    Did you by any chance manage to talk to them what they are getting or if they can increase the exception details in the fault message for you?
    If this answers your question please mark it as Answer and if this post is helpful, please vote as helpful. Thanks !

  • RFC_to_File scenario: error in request message mapping

    Hi!
    I am configuring RFC_to_File scenario.
    The error at the begining is:
    com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_Z_RFB_MATERIALEINGABE_PBU_zu_MT
    : Fatal Error: com.sap.engine.lib.xml.parser.Parser
    Exception of class CX_XMS_SYSERR_MAPPING
    When I display the request message mapping are of the message I can see:
    <Trace level="1" type="T">Interface-Mapping http://www.sap-press.de/xi/training/PBU_00 IM_Z_RFB_MATERIALEINGABE_PBU_zu_MI_Material_Async_In</Trace>
    <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_MM_Z_RFB_MATERIALEINGABE_PBU_zu_MT_Material_</Trace>
    <Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data sections(:main:, row:1, col:202) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException(Transformer.java:187) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:151) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest
    Can some one help me to solve this problem?
    Thank you very much!
    regards
    Holger

    Holger,
    Message Mapping Failed.
    >com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data >sections(:main:, row:1, col:202) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException
    You are Passing Char to a field, which is not as per the Message Mapping rule
    Cheers
    Agasthuri Doss

  • Download XML structure to Application server

    Hi all.
    I am generating an XML structure based on some data that I select from HR e-Recruiting, and I need to save the generated XML file on the application server, not the presentation server (local computer). Most of the code I have found on SDN (contributed by Robert Eijpe) and I must admit that I do not understand everything the code does.
    I have attached the source code and the resulting XML structure:
    REPORT  zhr_test2_tk.
    TYPE-POOLS: ixml.
    TYPES: BEGIN OF xml_line,
            data(256) TYPE x,
           END OF xml_line.
    DATA: l_ixml            TYPE REF TO if_ixml,
          l_streamfactory   TYPE REF TO if_ixml_stream_factory,
          l_ostream         TYPE REF TO if_ixml_ostream,
          l_renderer        TYPE REF TO if_ixml_renderer,
          l_document        TYPE REF TO if_ixml_document.
    DATA: l_element_position TYPE REF TO if_ixml_element,
          l_element_title    TYPE REF TO if_ixml_element,
    *        l_element_flight  TYPE REF TO if_ixml_element,
    *        l_element_from    TYPE REF TO if_ixml_element,
    *        l_element_to      TYPE REF TO if_ixml_element,
            l_element_dummy   TYPE REF TO if_ixml_element,
             l_value           TYPE string.
    DATA: l_xml_table       TYPE TABLE OF xml_line,
          l_xml_size        TYPE i,
          l_rc              TYPE i.
    DATA: lt_erec TYPE TABLE OF hrp5126,
          l_erec TYPE hrp5126.
    DATA: date(10),
          time(4),
          filepath TYPE string.
    CONSTANTS: filedir TYPE string VALUE 'C:tmp',
               filename TYPE string VALUE 'ZHR_test'.
    START-OF-SELECTION.
    * fill internal table
      SELECT * FROM hrp5126 INTO TABLE lt_erec.
    * Start filling xml DOM object from internal table lt_erec.
      LOOP AT lt_erec INTO l_erec.
    *Create the root node 'position'
        IF sy-tabix EQ 1.
    *     create an ixml factory
          l_ixml = cl_ixml=>create( ).
    *     create Document Object Model
          l_document = l_ixml->create_document( ).
    *    Fill root node with value 'position'
          l_element_position = l_document->create_simple_element(
                         name   = 'position'
                         parent = l_document ).
        ENDIF.
        IF sy-tabix GT 1.
    *     create element jobtitle as child of position
          l_value = l_erec-jobtitle.
          l_element_title = l_document->create_simple_element(
                             name   = 'job_title'
                             parent = l_element_position
                             value  = l_value ).
          l_value = l_erec-empl_start_date.
          l_element_dummy = l_document->create_simple_element(
                             name   = 'StartDate'
                             parent = l_element_title
                             value  = l_value ).
          l_value = l_erec-empl_end_date.
          l_element_dummy = l_document->create_simple_element(
                             name   = 'EndDate'
                             parent = l_element_title
                             value  = l_value ).
        ENDIF.
      ENDLOOP.
      IF sy-subrc NE 0.
        WRITE: 'No data in table hrp5125'.
      ENDIF.
    * create a stream factory
      l_streamfactory = l_ixml->create_stream_factory( ).
    * connect internal XML table to streamfactory
      l_ostream = l_streamfactory->create_ostream_itable(
                      table = l_xml_table ).
    * render the document
      l_renderer = l_ixml->create_renderer( ostream  = l_ostream
                                            document = l_document ).
      l_rc = l_renderer->render( ).
    * Get time and date
      WRITE sy-uzeit+2(2) TO time+2(2).
      WRITE sy-uzeit+0(2) TO time+0(2).
      WRITE sy-datum+4(2) TO date+0(2).
      WRITE sy-datum+6(2) TO date+2(2).
      WRITE sy-datum+0(4) TO date+4(4).
    *Build filename with date and time reference
    CONCATENATE filedir filename date time '.xml' INTO filepath.
    <i>* This is the code I hope to modify in order to save the xml structure on the application server, with a specified filepath.</i>
    <b>  OPEN DATASET filepath FOR OUTPUT IN BINARY MODE.
      LOOP AT lt_erec into l_erec.
        TRANSFER  l_erec TO filepath.
      ENDLOOP.
      CLOSE DATASET filepath.</b>
    * save XML document
      l_xml_size = l_ostream->get_num_written_raw( ).
    *This is the code for download to local computer
    *  CALL METHOD cl_gui_frontend_services=>gui_download
    *    EXPORTING
    *      bin_filesize            = l_xml_size
    *      filename                = filepath
    *      filetype                = 'BIN'
    *    CHANGING
    *      data_tab                = l_xml_table
    *    EXCEPTIONS
    *      file_write_error        = 1
    *      no_batch                = 2
    *      gui_refuse_filetransfer = 3
    *      invalid_type            = 4
    *      no_authority            = 5
    *      unknown_error           = 6
    *      header_not_allowed      = 7
    *      separator_not_allowed   = 8
    *      filesize_not_allowed    = 9
    *      header_too_long         = 10
    *      dp_error_create         = 11
    *      dp_error_send           = 12
    *      dp_error_write          = 13
    *      unknown_dp_error        = 14
    *      access_denied           = 15
    *      dp_out_of_memory        = 16
    *      disk_full               = 17
    *      dp_timeout              = 18
    *      file_not_found          = 19
    *      dataprovider_exception  = 20
    *      control_flush_error     = 21
    *      OTHERS                  = 22.
    *  IF sy-subrc <> 0.
    *    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    *            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    <b>XML result:</b>
    <?xml version="1.0" ?>
    <position>
       <job_title>Test Process Template</job_title>
       <job_title>jjjj</job_title>
       <job_title>Test Job Req. 20092005</job_title>
       <job_title>Created 22.09</job_title>
       <job_title>title 07.12</job_title>
       <job_title>Test fra portal</job_title>
       <job_title>Test med 100328</job_title>
       <job_title>Test restricted recruiter</job_title>
       <job_title>Test restricted recruiter</job_title>
       <job_title>Workshop requisition job title</job_title>
    </position>
    Any help is greatly appreciated.
    Best Regards,
    Thomas Kjelsrud

    Hi Guillaume,
    The thing is that the code I presented to you is incorrect. I am asking the question of how to download / save an XML (not an internal table) to the application server. Using the gui_download will not satisfy me need, as it only downloads to the presentation server (local machine that I run my SAP session on), when I need it to download to the application server. The Open Dataset and Transfer statements are (as far as I know) only used for downloading internal tables to the application server.
    So I guess my question should be like this instead:
    "How can I save the XML structure that is created in the above program to the file system in the application server?"
    It is a bit hard to explain this, so please ask me more questions if required.
    Thank you for helping.
    Best regards,
    Thomas

  • Wsdl validation fails for request message payload from custom schema

    Hello. I am having a problem which I cannot seem to work around. I have defined a schema to serve as a template for the request message payload of a bpel process. The schema is very simple:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:logininfo="http://sru/logininfo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sru="http://sru/profile" targetNamespace="http://sru/logininfo" elementFormDefault="qualified" attributeFormDefault="unqualified">
         <xs:import namespace="http://sru/profile" schemaLocation="http://sru/profile.xsd"/>
         <xs:element name="logininfo" type="logininfo:logininfoType">
              <xs:annotation>
                   <xs:documentation>Needed information for SRU Login</xs:documentation>
              </xs:annotation>
         </xs:element>
         <xs:complexType name="logininfoType">
              <xs:all>
                   <xs:element name="email" type="sru:emailType"/>
                   <xs:element name="password">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:maxLength value="32"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="product" type="xs:string"/>
                   <xs:element name="ip" type="sru:ipType"/>
                   <xs:element name="timestamp" type="xs:dateTime"/>
                   <xs:element name="xpath" type="xs:string"/>
              </xs:all>
         </xs:complexType>
    </xs:schema>
    (The schema depends on another, which I have placed at the end of this message).
    I import it into the bpel process designer with no problems.
    Upon defining the payload of the request message type to be the {http://sru/logininfo}logininfoType, the WSDL file does not validate anymore:
    Validating WSDL...
    Validating E:\OraBPELPM_1\integration\jdev\jdev\mywork\SRU\BPELProcess5\BPELProcess5.wsdl
    Schema type not found: QName(http://sru/logininfo, logininfoType)
    Validate WSDL: has errors.
    Any ideas?
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns="http://sru/profile" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sru="http://sru" xmlns:xdb="http://xmlns.oracle.com/xdb" targetNamespace="http://sru/profile" elementFormDefault="qualified" attributeFormDefault="unqualified" xdb:schemaURL="http://sru/profile.xsd">
         <xs:annotation>
              <xs:documentation>Joel Salmerón Viver</xs:documentation>
              <xs:documentation xml:lang="en">General purpose internet profile schema</xs:documentation>
         </xs:annotation>
         <xs:simpleType name="emailType">
              <xs:restriction base="xs:string">
                   <xs:maxLength value="255"/>
                   <xs:pattern value="[a-z0-9]([a-z0-9\._][a-z0-9]+)*@[a-z0-9]([a-z0-9\.\-][a-z0-9]+)*\.[a-z]{2,6}"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="ipType">
              <xs:restriction base="xs:string">
                   <xs:pattern value="((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="labelType">
              <xs:restriction base="xs:string">
                   <xs:maxLength value="32"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:complexType name="addressType" xdb:SQLType="ADDRESSTYPE" xdb:SQLSchema="SRU">
              <xs:all>
                   <xs:element name="lines" type="linesType" minOccurs="0" xdb:SQLName="lines" xdb:SQLType="LINESTYPE" xdb:SQLSchema="SRU" xdb:SQLInline="true">
                        <xs:key name="linesKey">
                             <xs:selector xpath="line"/>
                             <xs:field xpath="@num"/>
                        </xs:key>
                   </xs:element>
                   <xs:element name="city" xdb:SQLName="city" xdb:SQLType="VARCHAR2" xdb:SQLInline="true">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:maxLength value="64"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="postalcode" xdb:SQLName="postalcode" xdb:SQLType="VARCHAR2" xdb:SQLInline="true">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:maxLength value="16"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="countrycode" xdb:SQLName="countrycode" xdb:SQLType="VARCHAR2" xdb:SQLInline="true">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:length value="2"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
              </xs:all>
              <xs:attribute name="label" type="labelType" use="required" xdb:SQLName="label" xdb:SQLType="VARCHAR2"/>
              <xs:attribute name="verified" type="xs:boolean" use="required" xdb:SQLName="verified" xdb:SQLType="RAW"/>
         </xs:complexType>
         <xs:complexType name="lineType" xdb:SQLType="LINETYPE" xdb:SQLSchema="SRU">
              <xs:simpleContent>
                   <xs:extension base="xs:string">
                        <xs:attribute name="num" type="xs:positiveInteger" use="required" xdb:SQLName="num" xdb:SQLType="NUMBER"/>
                   </xs:extension>
              </xs:simpleContent>
         </xs:complexType>
         <xs:complexType name="loginType" xdb:SQLType="LOGINTYPE" xdb:SQLSchema="SRU">
              <xs:all>
                   <xs:element name="registered_date" type="xs:dateTime" xdb:SQLType="TIMESTAMP WITH TIME ZONE" xdb:SQLName="registered_date" xdb:SQLInline="true"/>
                   <xs:element name="lastlogin_date" type="xs:dateTime" xdb:SQLType="TIMESTAMP WITH TIME ZONE" xdb:SQLName="lastlogin_date" xdb:SQLInline="true"/>
                   <xs:element name="lastlogin_ip" type="ipType" minOccurs="0" xdb:SQLName="lastlogin_ip" xdb:SQLType="VARCHAR2" xdb:SQLInline="true"/>
                   <xs:element name="lastlogin_time" type="xs:time" minOccurs="0" xdb:SQLType="TIMESTAMP WITH TIME ZONE" xdb:SQLName="lastlogin_time" xdb:SQLInline="true"/>
              </xs:all>
              <xs:attribute name="product" use="required" xdb:SQLName="product" xdb:SQLType="VARCHAR2">
                   <xs:simpleType>
                        <xs:restriction base="xs:string">
                             <xs:maxLength value="32"/>
                        </xs:restriction>
                   </xs:simpleType>
              </xs:attribute>
              <xs:attribute name="status" type="xs:integer" use="required" xdb:SQLName="status" xdb:SQLType="NUMBER"/>
         </xs:complexType>
         <xs:complexType name="addressesType" xdb:SQLType="ADDRESSESTYPE" xdb:SQLSchema="SRU">
              <xs:sequence>
                   <xs:element name="address" maxOccurs="unbounded" xdb:defaultTable="PROFILE_ADDRESSES" xdb:SQLName="address" xdb:SQLSchema="SRU" xdb:SQLInline="true" xdb:defaultTableSchema="SRU" xdb:SQLCollType="address360_COLL" xdb:SQLCollSchema="SRU" xdb:maintainOrder="false">
                        <xs:complexType xdb:SQLType="address358_T" xdb:SQLSchema="SRU">
                             <xs:complexContent>
                                  <xs:extension base="addressType"/>
                             </xs:complexContent>
                        </xs:complexType>
                   </xs:element>
              </xs:sequence>
              <xs:attribute name="main" type="labelType" use="required" xdb:SQLName="main" xdb:SQLType="VARCHAR2"/>
         </xs:complexType>
         <xs:complexType name="phonesType" xdb:SQLType="PHONESTYPE" xdb:SQLSchema="SRU">
              <xs:sequence>
                   <xs:element name="phone" type="phoneType" maxOccurs="unbounded" xdb:SQLName="phone" xdb:SQLType="PHONETYPE" xdb:SQLSchema="SRU" xdb:SQLInline="true" xdb:SQLCollType="phone363_COLL" xdb:SQLCollSchema="SRU" xdb:maintainOrder="false"/>
              </xs:sequence>
              <xs:attribute name="main" type="labelType" use="required" xdb:SQLName="main" xdb:SQLType="VARCHAR2"/>
         </xs:complexType>
         <xs:complexType name="loginsType" xdb:SQLType="LOGINSTYPE" xdb:SQLSchema="SRU">
              <xs:sequence>
                   <xs:element name="login" type="loginType" maxOccurs="unbounded" xdb:SQLName="login" xdb:SQLType="LOGINTYPE" xdb:SQLSchema="SRU" xdb:SQLInline="true" xdb:SQLCollType="login366_COLL" xdb:SQLCollSchema="SRU" xdb:maintainOrder="false">
                        <xs:key name="loginKey">
                             <xs:selector xpath="."/>
                             <xs:field xpath="@product"/>
                        </xs:key>
                   </xs:element>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="phoneType" xdb:SQLType="PHONETYPE" xdb:SQLSchema="SRU">
              <xs:simpleContent>
                   <xs:extension base="phonenumberType"/>
              </xs:simpleContent>
         </xs:complexType>
         <xs:complexType name="profileType" xdb:SQLType="PROFILETYPE" xdb:SQLSchema="SRU">
              <xs:all>
                   <xs:element name="firstname" xdb:SQLName="firstname" xdb:SQLType="VARCHAR2" xdb:SQLInline="true">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:maxLength value="64"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="surname1" xdb:SQLName="surname1" xdb:SQLType="VARCHAR2" xdb:SQLInline="true">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:maxLength value="64"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="surname2" minOccurs="0" xdb:SQLName="surname2" xdb:SQLType="VARCHAR2" xdb:SQLInline="true">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:maxLength value="64"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="gender">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:length value="1"/>
                                  <xs:enumeration value="M"/>
                                  <xs:enumeration value="F"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="alt_email" type="emailType" minOccurs="0" xdb:SQLName="alt_email" xdb:SQLType="VARCHAR2" xdb:SQLInline="true"/>
                   <xs:element name="addresses" type="addressesType" minOccurs="0" xdb:SQLName="addresses" xdb:SQLType="ADDRESSESTYPE" xdb:SQLSchema="SRU" xdb:SQLInline="true">
                        <xs:key name="addressesKey">
                             <xs:selector xpath="address"/>
                             <xs:field xpath="@label"/>
                        </xs:key>
                        <xs:keyref name="addressRef" refer="addressesKey">
                             <xs:selector xpath="."/>
                             <xs:field xpath="@main"/>
                        </xs:keyref>
                   </xs:element>
                   <xs:element name="phones" type="phonesType" minOccurs="0" xdb:SQLName="phones" xdb:SQLType="PHONESTYPE" xdb:SQLSchema="SRU" xdb:SQLInline="true">
                        <xs:key name="phoneKey">
                             <xs:selector xpath="phone"/>
                             <xs:field xpath="@label"/>
                        </xs:key>
                        <xs:keyref name="phoneRef" refer="phoneKey">
                             <xs:selector xpath="."/>
                             <xs:field xpath="@main"/>
                        </xs:keyref>
                   </xs:element>
                   <xs:element name="language" type="xs:language" xdb:SQLName="language" xdb:SQLType="VARCHAR2" xdb:SQLInline="true"/>
                   <xs:element name="logins" type="loginsType" minOccurs="0" xdb:SQLName="logins" xdb:SQLType="LOGINSTYPE" xdb:SQLSchema="SRU" xdb:SQLInline="true">
                        <xs:key name="loginsKey">
                             <xs:selector xpath="login"/>
                             <xs:field xpath="@product"/>
                        </xs:key>
                   </xs:element>
                   <xs:element name="origin" minOccurs="0" xdb:SQLName="origin" xdb:SQLType="VARCHAR2" xdb:SQLInline="true">
                        <xs:annotation>
                             <xs:documentation>iso3166 a2 country code</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:length value="2"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="creation_date" type="xs:dateTime" xdb:SQLType="TIMESTAMP WITH TIME ZONE" xdb:SQLName="creation_date" xdb:SQLInline="true"/>
                   <xs:element name="modified_date" type="xs:dateTime" xdb:SQLType="TIMESTAMP WITH TIME ZONE" xdb:SQLName="modified_date" xdb:SQLInline="true"/>
                   <xs:element name="password" xdb:SQLName="password" xdb:SQLType="VARCHAR2" xdb:SQLInline="true">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:maxLength value="32"/>
                                  <xs:pattern value="[a-zA-Z0-9]+"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="hint" minOccurs="0" xdb:SQLName="hint" xdb:SQLType="VARCHAR2" xdb:SQLInline="true">
                        <xs:simpleType>
                             <xs:restriction base="xs:string">
                                  <xs:maxLength value="32"/>
                             </xs:restriction>
                        </xs:simpleType>
                   </xs:element>
                   <xs:element name="additional" type="xs:anyType" minOccurs="0">
                        <xs:annotation>
                             <xs:documentation>future expansion</xs:documentation>
                        </xs:annotation>
                   </xs:element>
              </xs:all>
              <xs:attribute name="email" type="emailType" use="required" xdb:SQLName="email" xdb:SQLType="VARCHAR2"/>
              <xs:attribute name="active" type="xs:boolean" use="required"/>
         </xs:complexType>
         <xs:complexType name="phonenumberType" xdb:SQLType="PHONENUMBERTYPE" xdb:SQLSchema="SRU">
              <xs:simpleContent>
                   <xs:extension base="xs:string">
                        <xs:attribute name="label" type="labelType" use="required" xdb:SQLName="label" xdb:SQLType="VARCHAR2"/>
                   </xs:extension>
              </xs:simpleContent>
         </xs:complexType>
         <xs:element name="profile" type="profileType" xdb:defaultTable="PROFILES" xdb:SQLName="profile" xdb:SQLType="PROFILETYPE" xdb:SQLSchema="SRU" xdb:defaultTableSchema="SRU"/>
         <xs:complexType name="linesType" xdb:SQLType="LINESTYPE" xdb:SQLSchema="SRU">
              <xs:sequence>
                   <xs:element name="line" type="lineType" maxOccurs="unbounded" xdb:SQLName="line" xdb:SQLType="LINETYPE" xdb:SQLSchema="SRU" xdb:SQLInline="true" xdb:SQLCollType="line354_COLL" xdb:SQLCollSchema="SRU" xdb:maintainOrder="false"/>
              </xs:sequence>
         </xs:complexType>
    </xs:schema>

    IT would help if the people that are working this issue would post the resolve of their problems. Every post I see with this problem someone from oracle replies with needing the source project to replicate the issue and the thread dies....

  • Inbound Service Interface without Input Request Message

    Is it possible to create an Inbound Service Interface without Input Request Message?  We are trying to create a web service to get all records from a database table hence no input parameter is needed.  We have tried in both XI 7.0 and PI 7.1 but couldn't do it.  Is this scenario not supported by ESR or am I missing something?  Any hint will be appreciated.
    Regards,
    Jiannan

    In the scenario I described in my initial post the table structure is only needed in the response message to receive the data. 
    For a web service generated from a RFC function module using the service creation wizard (SE80) a table parameter is automatically included in the request message.  I can understand this as the wizard can not figure out if the table parameter is needed in the request message or not.
    I have tried to use the service creation wizard to generate a web service from the function module RFCPING that has no input or output parameters.  As shown in below WSDL segment the WSDL does allow not having any input or output parameters.
    - <wsdl:types>
    - <xsd:schema attributeFormDefault="qualified" targetNamespace="urn:sap-com:document:sap:soap:functions:mc-style">
    - <xsd:element name="Rfcping">
    - <xsd:complexType>
      <xsd:sequence />
      </xsd:complexType>
      </xsd:element>
    - <xsd:element name="RfcpingResponse">
    - <xsd:complexType>
      <xsd:sequence />
      </xsd:complexType>
      </xsd:element>
      </xsd:schema>
      </wsdl:types>
    - <wsdl:message name="Rfcping">
      <wsdl:part name="parameters" element="tns:Rfcping" />
      </wsdl:message>
    - <wsdl:message name="RfcpingResponse">
      <wsdl:part name="parameter" element="tns:RfcpingResponse" />
      </wsdl:message>
    Thanks,
    Jiannan

Maybe you are looking for

  • Error in adding custom fields to mm01/mm02/mm03 trx

    Hello People, To add my custom fields in the basic view tab of MM01 transaction, i have performed the following steps:- 1. Inserted the append structure in MARA table with the required fields. 2. Copied function group 'MGD1' to 'ZMGD1' and then set t

  • Should I give up on Gmail IMAP?

    Can somebody help me feedback about my Gmail IMAP problem, please? I switched from pop to imap in November and as a first step successfully uploaded my ~2GB of old pop messages up to gmail to have everything in sync. I did this by copying the old fol

  • Can't use tabbed browsing since Safari update

    Ever since I downloaded the update today I can't browse using tabs. If I go to preferences and changed to tabbed browsing Safari constantly quits. If I delete my Safari .plist file everything is back to "normal". This is a pretty obvious bug. Anyone

  • Data dictionary views

    Hi, What are the the views in the data dictionary that store the user packages (spec, body, function list and parameters etc) ? TIA. Stephan

  • Handling contraint violations in a user friendly way

    How do you trap constraint violation errors is a user friendly manner ... I've seen a number of related posts on the forum but have not yet seen a solution that people are happy with. Ideally, Id like to: - avoid displaying the 'raw' oracle error to