DIS Server / SOAP

Hi,
<br/><br/>
I'm just digging through the DI Server documentation that comes with the 2005SP1 SBO release.
<br/><br/>
Now, I can't help noticing two things:
<ul><li>Firstly, the doc says that "DI Server (...) using SOAP <b>version 1.1</b> messages."
<br/>
However, the <i>response elements</i> in the examples given throughout the doc all have the namespace: "http://www.w3.org/2003/05/soap-envelope".<br/>
This namespace, according to my <a href="http://www.w3.org/TR/2003/REC-soap12-part1-20030624/">documentation</a>, belongs to SOAP <b>version 1.2</b><br/><br/>
</li>
<li>
The custom header elements (SessionID) are not namespace-qualified. Doc says they MUST be.</li>
</ul>
I haven't tested the server yet, being busy writing the SOAP interface. What's wrong? The documentation or the implementation?

Hi Olivier,
1.
I have tested with DI Server and the return messages are defined as in the documentation with "http://www.w3.org/2003/05/soap-envelope" what lets me think format is SOAP 1.2. But please open a message for support asking for confirmation and to change the documentation to the right version.
2. The problem has been identified and fixed in version 2007A but I don't know whether it has been also fixed for 2005 SP01 version. Please open another message for support asking for it.
You can use the DI Server sample to guide you through the first steps of development.
Hope it helps
Trinidad.

Similar Messages

  • Foreign Currency Payments through DI Server (SOAP)

    Hi All,
    I am using the DI Server SOAP interface, and I am trying to add an IncomingPayment in EUR (our system currency is GBP). I have noticed an issue when trying to do this: It cannot be done unless there is a global exchange rate set for that currency on the document date, no matter what fields I populate in the IncomingPayment. This presents a problem, since although there is a GetCurrencyRate function, there is no SetCurrencyRate function that I can find...
    We are using SAP 8.8 PL12 currently.
    My SOAP message (which works perfectly when a global exchange rate is set for the day):
    <?xml version="1.0" encoding="utf-8"?>
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
         <env:Header>
              <SessionID>8E03AABD-5D5C-4551-8805-091EB75D010B</SessionID>
         </env:Header>
         <env:Body>
              <Payment>               
                   <DocType>rCustomer</DocType>
                   <DocDate>2011-02-22</DocDate>
                   <CardCode>EXAMPLE</CardCode>
                   <DocCurrency>EUR</DocCurrency>
                   <DocRate>1.24</DocRate>
                   <CounterReference>payment</CounterReference>
                   <Remarks>test 01</Remarks>
                   <TaxDate>2011-02-22</TaxDate>
                   <CashAccount>153000</CashAccount>
                   <CashSum>100.00</CashSum>
                   <PaymentInvoices>
                        <PaymentInvoice>
                             <DocEntry>52</DocEntry>
                             <DocRate>1.14</DocRate>
                             <InvoiceType>it_Invoice</InvoiceType>
                             <AppliedFC>100.00</AppliedFC>
                        </PaymentInvoice>
                   </PaymentInvoices>
              </Payment>
         </env:Body>
    </env:Envelope>
    Is there a way of setting the global currency rate through the SOAP interface that I have not spotted? Or is there a particular set of fields that can be populated in an IncomingPayment that allow it to be processed despite the lack of a global exchange rate?
    Thanks in advance for any help!

    Below are the columns we populate in the table ap_inv_selection_criteria_all:
    (checkrun_name,
    check_date,
    last_update_date,
    last_updated_by,
    bank_account_name,
    period_name,
    pay_thru_date,
    hi_payment_priority,
    low_payment_priority,
    pay_only_when_due_flag,
    status,
    currency_code,
    document_order_lookup_code,
    audit_required_flag,
    last_update_login,
    creation_date,
    created_by,
    zero_amounts_allowed,
    payment_method_code,
    org_id,
    checkrun_id,
    bank_account_id,
    template_flag,
    future_dated_payment_flag,
    exchange_rate,
    exchange_rate_type,
    exchange_date,
    payment_document_id,
    create_instrs_flag,
    pay_group_option,
    currency_group_option,
    le_group_option,
    ou_group_option)
    Thanks,
    Kai

  • InDesign Server SOAP API - Status check

    Hi,
    I am running 5 InDesign ports and sending jobs using "Sample Client" SOAP method. For some unknown reason, some ports got crash or not responding. How can I check whether particular port is running without "crash or not-response"? So that, I can notify this by automatically, and send the job to another port.

    If you're an InDesign Server developer, you probably need to post here:
    InDesign Server Developers

  • Determinations Server - SOAP version

    I have generated a java client from my WSDL file (http://localhost:9000/determinations-server9000/interview/soap/MyRuleBase?wsdl) using JAX-WS wsimport.
    However when I attempted to use the Java client, I get the following run time exception.
    SEVERE: SAAJ0140: No NamespaceURI, SOAP requires faultcode content to be a QName
    javax.xml.ws.WebServiceException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: No NamespaceURI, SOAP requires faultcode content to be a QName
    After a bit of googling, I found that the my JAX-WS client is using SOAP1.2 whereas the Determinations server is using SOAP 1.1?
    How do I force my JAX-WS client to use SOAP 1.1?
    I understand that I can generate a client using Axis2 as well- but my preference would be to use JAX-WS.

    Actually I don't think this has anything to do with the soap version that jax-ws uses.
    In some 10.2 versions of the Determination Server a fault was being incorrectly returned as "SOAP-ENVClient" instead of "SOAP-ENV:Client". This is probably causing the error you are seeing.
    This bug was fixed in 10.3 which has just been released as General Availability and you can get it from Oracle E-Delivery (https://edelivery.oracle.com/)
    Also, the fact that you are getting a soap fault means that you are sending wrong information to the determinations server. I suggest using a tool like tcpmon to trap the request and response so you can see what the error is.

  • SSL and indesign server - soap communications.

    Does anyone know if (and how) you could use SSL to talk to indesign server using soap.  The gSoap library (that I believe indesign server uses) has some support but needs compiling to include it, so I'm assuming it isn't included but would like to know for sure.
    Thanks
    Ian

    Hi folks!
    A typical scenario I'll encounter at customers regularly is that they have SSL only until the Webcache in the DMZ , as Jon has described. You could create real end-to-end security. The connection to the OHS in the middle tier and even to the infrastructure can use SSL.
    When you want to have the database connection encrypted you'll need the Adv. Security option. The protocol between the middle tier and your database is usually using SQLNet or JDBC. For these you need the Advanced Security option.
    cu
    Andreas

  • Oracle 8i Database Server & Soap

    Does Oracle 8i DB support Soap ?
    If so can some one send me some examples
    TIA - RPG

    Yes you can, but if I recall correctly, the Oracle 8i database supports session beans only, not entity beans.
    Have you looked at Oracle's J2EE container for 9i? This is a separately downloadable component that provides full support for JSP/Servlet, EJB (BMP and CMP) and JMS. I don't know what the licensing restrictions are on using it (I don't how many thousands of dollars you must have already spent with Oracle) but it's definitely a lot easier and more convenient than deployment to the database, as well as being more functional.

  • Problem creating A/R Invoice with Withholding tax data via DI-Server

    Hi!
    Using the following SOAP Request to the DI-Server, I wanted to create an A/R Invoice having a withholding tax data but it always respond with an error saying
    Total taxable amount of all rows exceeds the base amount  [INV5.TaxbleAmnt][line: 1]
    SOAP Request:
    <?xml version="1.0" encoding="UTF-16"?>
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
      <env:Header>
        <SessionID>203A3C01-7808-4638-8322-2307DF3C0F8F</SessionID>
      </env:Header>
      <env:Body>
        <dis:Add xmlns:dis="http://www.sap.com/SBO/DIS">
          <Service>InvoicesService</Service>
          <Document>
            <DocType>dDocument_Items</DocType>
            <HandWritten>tNO</HandWritten>
            <DocDate>2010-02-08</DocDate>
            <DocDueDate>2010-02-08</DocDueDate>
            <TaxDate>2010-02-08</TaxDate>
            <VatDate>2010-02-08</VatDate>
            <CardCode>NPI</CardCode>
            <Comments>test di-server soap message 1</Comments>
            <DocumentLines>
              <DocumentLine>
                <ItemCode>TRC</ItemCode>
                <Quantity>1</Quantity>
                <Price>1000</Price>
                <TaxCode>OVAT</TaxCode>
                <VatGroup>OVAT</VatGroup>
                <TaxLiable>tYES</TaxLiable>
                <WTLiable>tYES</WTLiable>
              </DocumentLine>
            </DocumentLines>
            <WithholdingTaxDataCollection>
              <WithholdingTaxData>
                <WTCode>C140</WTCode>
                <TaxableAmount>1000</TaxableAmount>
                <WTAmount>100</WTAmount>
              </WithholdingTaxData>
            </WithholdingTaxDataCollection>
          </Document>
        </dis:Add>
      </env:Body>
    </env:Envelope>
    OVAT rate above is 10%.
    The withholding tax code C140 is setup as
    rate=10,
    Category=Payment,
    Base Type=Net,
    % Base Amount = 100,
    Rounding Type = Commercial Values.
    We are using the New Zealand/Australia localization in SAP B1 2007A PL49.
    The above code can be successful only if I set the <WithholdingTaxDataCollection> node to:
            <WithholdingTaxDataCollection>
              <WithholdingTaxData>
                <WTCode>C140</WTCode>
                <TaxableAmount>0</TaxableAmount>
                <WTAmount>100</WTAmount>
              </WithholdingTaxData>
            </WithholdingTaxDataCollection>
    setting TaxableAmount equal to 0 which is not desired.
    Can anyone extend me some help, please?
    Thanks.

    Albert,
    Did you try adding this via the DI API and not the DI Server?  Do you get the same error?  Please see this SAP Note ...
    https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/smb_searchnotes/display.htm?note_langu=E&note_numm=0001303019
    Eddy

  • How to create A/R Invoice having Withholding Tax Data using DI-Server?

    <P>Hi Experts,</P>
    <P>I want to create an A/R Invoice having a Withholding Tax line
    through DI-Server (SAP Business One 2005B PL43) using the following
    SOAP Request (Method 1 and Method 2) but both generated an 'Invalid
    XML' error response. If I exclude the WithholdingTaxData tag (or the
    WithholdingTaxDataCollection tag) from the SOAP request, the invoice
    is successfully created but without the Withholding Tax entry in the
    table INV5.</P>
    <P>I've had success in the past using the &quot;&lt;SerialNumbers&gt;&quot;
    and &quot;&lt;DocumentsAdditionalExpenses&gt;&quot;.
    </P>
    <P>In the SOAP Requests below, what is wrong with the usage of
    &quot;&lt;WithholdingTaxData&gt;&quot; or
    &quot;&lt;WithholdingTaxDataCollection&gt;&quot;?</P>
    <P>Is it possible at all to create a document having Withholding Tax
    entries using the DI-Server SOAP Request?</P>
    <P>Thank you very much.</P>
    <P><BR><BR>
    </P>
    <P>Method 1:</P>
    <P>SOAP REQUEST (Using AddObject command):</P>
    <P>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-16&quot;?&gt;<BR>&lt;env:Envelope
    xmlns:env=&quot;<A HREF="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</A>&quot;&gt;<BR>     &lt;env:Header&gt;<BR>          &lt;SessionID&gt;08C5BB21-34E3-468E-952F-EEC1CBE19272&lt;/SessionID&gt;<BR>     &lt;/env:Header&gt;<BR>     &lt;env:Body&gt;<BR>          &lt;dis:AddObject
    xmlns:dis=&quot;<A HREF="http://www.sap.com/SBO/DIS">http://www.sap.com/SBO/DIS</A>&quot;&gt;<BR>               &lt;BOM&gt;&lt;BO&gt;<BR>                    &lt;AdmInfo&gt;<BR>                         &lt;Object&gt;oInvoices&lt;/Object&gt;<BR>                    &lt;/AdmInfo&gt;<BR>                    &lt;Documents&gt;<BR>                         &lt;row&gt;<BR>                              &lt;DocDate&gt;20090520&lt;/DocDate&gt;<BR>                              &lt;DocDueDate&gt;20090619&lt;/DocDueDate&gt;<BR>                              &lt;TaxDate&gt;20090520&lt;/TaxDate&gt;<BR>                              &lt;DocCurrency&gt;EUR&lt;/DocCurrency&gt;<BR>                              &lt;CardCode&gt;MULTICURRBP&lt;/CardCode&gt;<BR>                              &lt;ContactPersonCode&gt;0&lt;/ContactPersonCode&gt;<BR>                              &lt;Comments&gt;Withholding
    Tax
    Liable&lt;/Comments&gt;<BR>                              &lt;SalesPersonCode&gt;1&lt;/SalesPersonCode&gt;<BR>                         &lt;/row&gt;<BR>                    &lt;/Documents&gt;<BR>                    &lt;Document_Lines&gt;<BR>                         &lt;row&gt;<BR>                              &lt;ItemCode&gt;MON001&lt;/ItemCode&gt;<BR>                              &lt;Quantity&gt;1.00&lt;/Quantity&gt;<BR>                              &lt;WarehouseCode&gt;cag01&lt;/WarehouseCode&gt;<BR>                              &lt;UnitPrice&gt;65.57&lt;/UnitPrice&gt;<BR>                              &lt;Currency&gt;EUR&lt;/Currency&gt;<BR>                              &lt;VatGroup&gt;SO&lt;/VatGroup&gt;<BR>                              &lt;WTLiable&gt;tYES&lt;/WTLiable&gt;<BR>                         &lt;/row&gt;<BR>                    &lt;/Document_Lines&gt;<BR>                    &lt;WithholdingTaxData&gt;<BR>                         &lt;row&gt;<BR>                              &lt;WTCode&gt;S&lt;WTCode&gt;<BR>                              &lt;WTAmountFC&gt;14.43&lt;WTAmountFC&gt;<BR>                              &lt;TaxableAmountFC&gt;65.57&lt;TaxableAmountFC&gt;<BR>                              &lt;GLAccount&gt;207032&lt;GLAccount&gt;<BR>                         &lt;/row&gt;<BR>                    &lt;/WithholdingTaxData&gt;<BR>               &lt;/BO&gt;&lt;/BOM&gt;<BR>          &lt;/dis:AddObject&gt;<BR>     &lt;/env:Body&gt;<BR>&lt;/env:Envelope&gt;</P>
    <P><BR><BR>
    </P>
    <P>SOAP RESPONSE (Using AddObject command):</P>
    <P>&lt;?xml version=&quot;1.0&quot;?&gt;<BR>&lt;env:Envelope
    xmlns:env=&quot;<A HREF="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</A>&quot;&gt;<BR>     &lt;env:Body&gt;<BR>          &lt;env:Fault&gt;<BR>               &lt;env:Code&gt;&lt;env:Value&gt;env:Sender&lt;/env:Value&gt;&lt;/env:Code&gt;<BR>               &lt;env:Reason&gt;&lt;env:Text
    xml:lang=&quot;en&quot;&gt;Invalid
    XML&lt;/env:Text&gt;&lt;/env:Reason&gt;<BR>               &lt;env:Detail&gt;<BR>                    &lt;ErrorList&gt;<BR>                         &lt;Error&gt;System
    Id = 18023032, Line Number = 1, Column Number = 1064, Description =
    Expected end of tag
    'GLAccount'&lt;/Error&gt;<BR>                    &lt;/ErrorList&gt;<BR>               &lt;/env:Detail&gt;<BR>          &lt;/env:Fault&gt;<BR>     &lt;/env:Body&gt;<BR>&lt;/env:Envelope&gt;</P>
    <P><BR><BR>
    </P>
    <P>Method 2:</P>
    <P>SOAP REQUEST (Using Add Service command):</P>
    <P>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-16&quot;?&gt;<BR>&lt;env:Envelope
    xmlns:env=&quot;<A HREF="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</A>&quot;&gt;<BR>     &lt;env:Header&gt;<BR>     
    &lt;SessionID&gt;1F6C7E11-CC5B-A5F3-0206-D1F4A8B9D84A&lt;/SessionID&gt;<BR>     &lt;/env:Header&gt;<BR>     &lt;env:Body&gt;<BR>          &lt;dis:Add
    xmlns:dis=&quot;<A HREF="http://www.sap.com/SBO/DIS">http://www.sap.com/SBO/DIS</A>&quot;&gt;<BR>               &lt;Service&gt;InvoicesService&lt;/Service&gt;<BR>               &lt;Document&gt;<BR>                    &lt;DocDate&gt;2009-05-20&lt;/DocDate&gt;<BR>                    &lt;DocDueDate&gt;2009-06-19&lt;/DocDueDate&gt;<BR>                    &lt;TaxDate&gt;2009-05-20&lt;/TaxDate&gt;<BR>                    &lt;DocCurrency&gt;EUR&lt;/DocCurrency&gt;<BR>                    &lt;CardCode&gt;MULTICURRBP&lt;/CardCode&gt;<BR>                    &lt;ContactPersonCode&gt;0&lt;/ContactPersonCode&gt;<BR>                    &lt;Comments&gt;Withholding
    Tax
    Liable&lt;/Comments&gt;<BR>                    &lt;SalesPersonCode&gt;1&lt;/SalesPersonCode&gt;<BR>                    &lt;DocumentLines&gt;<BR>                         &lt;DocumentLine&gt;<BR>                              &lt;ItemCode&gt;MON001&lt;/ItemCode&gt;<BR>                              &lt;Quantity&gt;1.00&lt;/Quantity&gt;<BR>                              &lt;WarehouseCode&gt;cag01&lt;/WarehouseCode&gt;<BR>                              &lt;UnitPrice&gt;65.57&lt;/UnitPrice&gt;<BR>                              &lt;Currency&gt;EUR&lt;/Currency&gt;<BR>                              &lt;VatGroup&gt;SO&lt;/VatGroup&gt;<BR>                              &lt;WTLiable&gt;tYES&lt;/WTLiable&gt;<BR>                         &lt;/DocumentLine&gt;<BR>                    &lt;/DocumentLines&gt;<BR>                    &lt;WithholdingTaxDataCollection&gt;<BR>                         &lt;WithholdingTaxData&gt;<BR>                              &lt;WTCode&gt;S&lt;WTCode&gt;<BR>                              &lt;WTAmountFC&gt;14.43&lt;WTAmountFC&gt;<BR>                              &lt;TaxableAmountFC&gt;65.57&lt;TaxableAmountFC&gt;<BR>                              &lt;GLAccount&gt;207032&lt;GLAccount&gt;<BR>                         &lt;/WithholdingTaxData&gt;<BR>                    &lt;/WithholdingTaxDataCollection&gt;<BR>               &lt;/Document&gt;<BR>          &lt;/dis:Add&gt;<BR>     &lt;/env:Body&gt;<BR>&lt;/env:Envelope&gt;</P>
    <P><BR><BR>
    </P>
    <P>SOAP RESPONSE (Using Add Service command):</P>
    <P>&lt;?xml version=&quot;1.0&quot;?&gt;<BR>&lt;env:Envelope
    xmlns:env=&quot;<A HREF="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</A>&quot;&gt;<BR>     &lt;env:Body&gt;<BR>          &lt;env:Fault&gt;<BR>               &lt;env:Code&gt;&lt;env:Value&gt;env:Sender&lt;/env:Value&gt;&lt;/env:Code&gt;<BR>               &lt;env:Reason&gt;&lt;env:Text
    xml:lang=&quot;en&quot;&gt;Invalid
    XML&lt;/env:Text&gt;&lt;/env:Reason&gt;<BR>               &lt;env:Detail&gt;<BR>                    &lt;ErrorList&gt;<BR>                         &lt;Error&gt;System
    Id = 134112056, Line Number = 1, Column Number = 1076, Description =
    Expected end of tag
    'GLAccount'&lt;/Error&gt;<BR>                    &lt;/ErrorList&gt;<BR>               &lt;/env:Detail&gt;<BR>          &lt;/env:Fault&gt;<BR>     &lt;/env:Body&gt;<BR>&lt;/env:Envelope&gt;</P>

    <P STYLE="margin-bottom: 0in">Hi Experts,</P>
    <P STYLE="margin-bottom: 0in">My apologies for the truncated message.
    Here's the full one.</P>
    <P STYLE="margin-bottom: 0in">I want to create an A/R Invoice having
    a Withholding Tax line through DI-Server (SAP Business One 2005B
    PL43) using the following SOAP Request (Method 1 and Method 2) but
    both generated an 'Invalid XML' error response. If I exclude the
    WithholdingTaxData tag (or the WithholdingTaxDataCollection tag) from
    the SOAP request, the invoice is successfully created but without the
    Withholding Tax entry in the table INV5.</P>
    <P STYLE="margin-bottom: 0in">I've had success in the past using the
    &quot;&lt;SerialNumbers&gt;&quot; and
    &quot;&lt;DocumentsAdditionalExpenses&gt;&quot;.
    </P>
    <P STYLE="margin-bottom: 0in">In the SOAP Requests below, what is
    wrong with the usage of &quot;&lt;WithholdingTaxData&gt;&quot; or
    &quot;&lt;WithholdingTaxDataCollection&gt;&quot;?</P>
    <P STYLE="margin-bottom: 0in">Is it possible at all to create a
    document having Withholding Tax entries using the DI-Server SOAP
    Request?</P>
    <P STYLE="margin-bottom: 0in">Thank you very much.</P>
    <BR>
    <P STYLE="margin-bottom: 0in">Method 1:</P>
    <BR>
    <P STYLE="margin-bottom: 0in">SOAP REQUEST (Using AddObject command):</P>
    <P STYLE="margin-bottom: 0in">&lt;?xml version=&quot;1.0&quot;
    encoding=&quot;UTF-16&quot;?&gt;</P>
    <P STYLE="margin-bottom: 0in">&lt;env:Envelope
    xmlns:env=&quot;http://schemas.xmlsoap.org/soap/envelope/"></P>
    <P STYLE="margin-bottom: 0in">     &lt;env:Header&gt;</P>
    <P STYLE="margin-bottom: 0in">          &lt;SessionID&gt;08C5BB21-34E3-468E-952F-EEC1CBE19272&lt;/SessionID&gt;</P>
    <P STYLE="margin-bottom: 0in">     &lt;/env:Header&gt;</P>
    <P STYLE="margin-bottom: 0in">     &lt;env:Body&gt;</P>
    <P STYLE="margin-bottom: 0in">          &lt;dis:AddObject
    xmlns:dis=&quot;http://www.sap.com/SBO/DIS"></P>
    <P STYLE="margin-bottom: 0in">               &lt;BOM&gt;&lt;BO&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;AdmInfo&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;Object&gt;oInvoices&lt;/Object&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;/AdmInfo&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;Documents&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;row&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;DocDate&gt;20090520&lt;/DocDate&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;DocDueDate&gt;20090619&lt;/DocDueDate&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;TaxDate&gt;20090520&lt;/TaxDate&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;DocCurrency&gt;EUR&lt;/DocCurrency&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;CardCode&gt;MULTICURRBP&lt;/CardCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;ContactPersonCode&gt;0&lt;/ContactPersonCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;Comments&gt;Withholding Tax
    Liable&lt;/Comments&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;SalesPersonCode&gt;1&lt;/SalesPersonCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;/row&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;/Documents&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;Document_Lines&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;row&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;ItemCode&gt;MON001&lt;/ItemCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;Quantity&gt;1.00&lt;/Quantity&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;WarehouseCode&gt;cag01&lt;/WarehouseCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;UnitPrice&gt;65.57&lt;/UnitPrice&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;Currency&gt;EUR&lt;/Currency&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;VatGroup&gt;SO&lt;/VatGroup&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;WTLiable&gt;tYES&lt;/WTLiable&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;/row&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;/Document_Lines&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;WithholdingTaxData&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;row&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;WTCode&gt;S&lt;WTCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;WTAmountFC&gt;14.43&lt;WTAmountFC&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;TaxableAmountFC&gt;65.57&lt;TaxableAmountFC&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;GLAccount&gt;207032&lt;GLAccount&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;/row&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;/WithholdingTaxData&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;/BO&gt;&lt;/BOM&gt;</P>
    <P STYLE="margin-bottom: 0in">          &lt;/dis:AddObject&gt;</P>
    <P STYLE="margin-bottom: 0in">     &lt;/env:Body&gt;</P>
    <P STYLE="margin-bottom: 0in">&lt;/env:Envelope&gt;</P>
    <P STYLE="margin-bottom: 0in"><BR>
    </P>
    <P STYLE="margin-bottom: 0in">SOAP RESPONSE (Using AddObject
    command):</P>
    <P STYLE="margin-bottom: 0in">&lt;?xml version=&quot;1.0&quot;?&gt;</P>
    <P STYLE="margin-bottom: 0in">&lt;env:Envelope
    xmlns:env=&quot;http://www.w3.org/2003/05/soap-envelope"></P>
    <P STYLE="margin-bottom: 0in">     &lt;env:Body&gt;</P>
    <P STYLE="margin-bottom: 0in">          &lt;env:Fault&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;env:Code&gt;&lt;env:Value&gt;env:Sender&lt;/env:Value&gt;&lt;/env:Code&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;env:Reason&gt;&lt;env:Text
    xml:lang=&quot;en&quot;&gt;Invalid XML&lt;/env:Text&gt;&lt;/env:Reason&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;env:Detail&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;ErrorList&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;Error&gt;System Id = 18023032,
    Line Number = 1, Column Number = 1064, Description = Expected end of
    tag 'GLAccount'&lt;/Error&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;/ErrorList&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;/env:Detail&gt;</P>
    <P STYLE="margin-bottom: 0in">          &lt;/env:Fault&gt;</P>
    <P STYLE="margin-bottom: 0in">     &lt;/env:Body&gt;</P>
    <P STYLE="margin-bottom: 0in">&lt;/env:Envelope&gt;</P>
    <P STYLE="margin-bottom: 0in"><BR>
    </P>
    <P STYLE="margin-bottom: 0in"><BR>
    </P>
    <P STYLE="margin-bottom: 0in">Method 2:</P>
    <P STYLE="margin-bottom: 0in"><BR>
    </P>
    <P STYLE="margin-bottom: 0in">SOAP REQUEST (Using Add Service
    command):</P>
    <P STYLE="margin-bottom: 0in">&lt;?xml version=&quot;1.0&quot;
    encoding=&quot;UTF-16&quot;?&gt;</P>
    <P STYLE="margin-bottom: 0in">&lt;env:Envelope
    xmlns:env=&quot;http://www.w3.org/2003/05/soap-envelope"></P>
    <P STYLE="margin-bottom: 0in">     &lt;env:Header&gt;</P>
    <P STYLE="margin-bottom: 0in">     
    &lt;SessionID&gt;1F6C7E11-CC5B-A5F3-0206-D1F4A8B9D84A&lt;/SessionID&gt;</P>
    <P STYLE="margin-bottom: 0in">     &lt;/env:Header&gt;</P>
    <P STYLE="margin-bottom: 0in">     &lt;env:Body&gt;</P>
    <P STYLE="margin-bottom: 0in">          &lt;dis:Add
    xmlns:dis=&quot;http://www.sap.com/SBO/DIS"></P>
    <P STYLE="margin-bottom: 0in">               &lt;Service&gt;InvoicesService&lt;/Service&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;Document&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;DocDate&gt;2009-05-20&lt;/DocDate&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;DocDueDate&gt;2009-06-19&lt;/DocDueDate&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;TaxDate&gt;2009-05-20&lt;/TaxDate&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;DocCurrency&gt;EUR&lt;/DocCurrency&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;CardCode&gt;MULTICURRBP&lt;/CardCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;ContactPersonCode&gt;0&lt;/ContactPersonCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;Comments&gt;Withholding Tax
    Liable&lt;/Comments&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;SalesPersonCode&gt;1&lt;/SalesPersonCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;DocumentLines&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;DocumentLine&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;ItemCode&gt;MON001&lt;/ItemCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;Quantity&gt;1.00&lt;/Quantity&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;WarehouseCode&gt;cag01&lt;/WarehouseCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;UnitPrice&gt;65.57&lt;/UnitPrice&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;Currency&gt;EUR&lt;/Currency&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;VatGroup&gt;SO&lt;/VatGroup&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;WTLiable&gt;tYES&lt;/WTLiable&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;/DocumentLine&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;/DocumentLines&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;WithholdingTaxDataCollection&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;WithholdingTaxData&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;WTCode&gt;S&lt;WTCode&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;WTAmountFC&gt;14.43&lt;WTAmountFC&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;TaxableAmountFC&gt;65.57&lt;TaxableAmountFC&gt;</P>
    <P STYLE="margin-bottom: 0in">                              &lt;GLAccount&gt;207032&lt;GLAccount&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;/WithholdingTaxData&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;/WithholdingTaxDataCollection&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;/Document&gt;</P>
    <P STYLE="margin-bottom: 0in">          &lt;/dis:Add&gt;</P>
    <P STYLE="margin-bottom: 0in">     &lt;/env:Body&gt;</P>
    <P STYLE="margin-bottom: 0in">&lt;/env:Envelope&gt;</P>
    <P STYLE="margin-bottom: 0in"><BR>
    </P>
    <P STYLE="margin-bottom: 0in">SOAP RESPONSE (Using Add Service
    command):</P>
    <P STYLE="margin-bottom: 0in">&lt;?xml version=&quot;1.0&quot;?&gt;</P>
    <P STYLE="margin-bottom: 0in">&lt;env:Envelope
    xmlns:env=&quot;http://www.w3.org/2003/05/soap-envelope"></P>
    <P STYLE="margin-bottom: 0in">     &lt;env:Body&gt;</P>
    <P STYLE="margin-bottom: 0in">          &lt;env:Fault&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;env:Code&gt;&lt;env:Value&gt;env:Sender&lt;/env:Value&gt;&lt;/env:Code&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;env:Reason&gt;&lt;env:Text
    xml:lang=&quot;en&quot;&gt;Invalid XML&lt;/env:Text&gt;&lt;/env:Reason&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;env:Detail&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;ErrorList&gt;</P>
    <P STYLE="margin-bottom: 0in">                         &lt;Error&gt;System Id =
    134112056, Line Number = 1, Column Number = 1076, Description =
    Expected end of tag 'GLAccount'&lt;/Error&gt;</P>
    <P STYLE="margin-bottom: 0in">                    &lt;/ErrorList&gt;</P>
    <P STYLE="margin-bottom: 0in">               &lt;/env:Detail&gt;</P>
    <P STYLE="margin-bottom: 0in">          &lt;/env:Fault&gt;</P>
    <P STYLE="margin-bottom: 0in">     &lt;/env:Body&gt;</P>
    <P STYLE="margin-bottom: 0in">&lt;/env:Envelope&gt;</P>

  • Send me the sample coding of DI Server

    Hi DI Server Experts,
    Can you send the sample simple coding for the DI Server and what are the steps needs to be taken care?
    i have DI server license and when i run the coding of sample it showing 'Could commit the transaction login'.
    Please helping out from this error and give good solutions ASAP.
    Thanks in Advance,
    G.Suresh

    Hi Suresh,
    With the DI server, you simply send an XML file to the DI server and then receive a response from it:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            oRead = System.IO.File.OpenText("C:\Program Files\SAP\SAP Business One ServerTools\DI_Server\Login2.xml")
            string = oRead.ReadToEnd()
            response = DI_Server.Interact(str)       
        End Sub
    This is the login file:
    <?xml version="1.0" encoding="utf-16"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Body>
      <dis:Login xmlns:dis="http://www,sap.com/SBO/DIS">
       <DatabaseServer>(local)</DatabaseServer>
       <DatabaseName>SBODemo_UK</DatabaseName>
       <DatabaseType>dst_MSSQL2005</DatabaseType>
       <DatabaseUsername>xx</DatabaseUsername>
       <DatabasePassword>xxxxx</DatabasePassword>
       <CompanyUsername>manager</CompanyUsername>
       <CompanyPassword>manager</CompanyPassword>
       <Language>ln_English</Language>
       <LicenseServer>localhost:30000</LicenseServer>
      </dis:Login>
    </env:Body>
    </env:Envelope>
    The code for sending the files to the DI server is the same for every operation, it is what is contained in the XML file that determines what the DI Server will do.
    The SDK help file has examples of the different operations. Help Centre->DI Server->SOAP Message types->Data Manipulation Messages.
    Regards,
    Niall
    SAP Business One Forums

  • How to write to windows event logs from determinations-server under IIS

    This is just an FYI technical bit of information I wish someone had shared with me before I started trying to write OPA errors to the windows event log... Most problems writing to the windows event log from log4net occur because of permissions. Some problems are because determinations-server does not have permissions to create some registry entries. Some problems cannot be resolved unless specific registry entry permissions are actually changed. We had very little consistency with the needed changes across our servers, but some combination of the following would always get the logging to the windows event log working.
    To see log4net errors as log4net attempts to utilize the windows event log, temporarily add the following to the web.config:
    <appSettings>
    <!-- uncomment the following line to send diagnostic messages about the log configuration file to the debug trace.
    Debug trace can be seen when attached to IIS in a debugger, or it can be redirected to a file, see
    http://logging.apache.org/log4net/release/faq.html in the section "How do I enable log4net internal debugging?" -->
    <add key="log4net.Internal.Debug" value="true"/>
    </appSettings>
    <system.diagnostics>
    <trace autoflush="true">
    <listeners>
    <add
    name="textWriterTraceListener"
    type="System.Diagnostics.TextWriterTraceListener"
    initializeData="logs/InfoDSLog.txt" />
    </listeners>
    </trace>
    </system.diagnostics>
    To add an appender for the windows event viewer, try the following in the log4net.xml:
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
    <param name="ApplicationName" value="OPA" />
    <param name="LogName" value="OPA" />
    <param name="Threshold" value="all" />
    <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="WARN" />
    <levelMax value="FATAL" />
    </filter>
    </appender>
    <root>
    <level value="warn"/>
    <appender-ref ref="EventLogAppender"/>
    </root>
    To put the OPA logs under the Application Event Log group, try this:
    Create an event source under the Application event log in Registry Editor. To do this, follow these steps:
    1.     Click Start, and then click Run.
    2.     In the Open text box, type regedit.
    3.     Locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
    4.     Right-click the Application subkey, point to New, and then click Key.
    5.     Type OPA for the key name.
    6.     Close Registry Editor.
    To put the OPA logs under a custom OPA Event Log group (as in the demo appender above), try this:
    Create an event log in Registry Editor. To do this, follow these steps:
    1.     Click Start, and then click Run.
    2.     In the Open text box, type regedit.
    3.     Locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog
    4.     Right-click the eventlog subkey, point to New, and then click Key.
    5.     Type OPA for the key name.
    6.     Right-click the new OPA key and add a new DWORD called "MaxSize" and set it to "1400000" which is about 20 Meg in order to keep the log file from getting too large.
    7.     The next steps either help or sometimes cause an error, but you can try these next few steps... If you get an error about a source already existing, then you can delete the key.
    8.     Right-click the OPA subkey, point to New, and then click Key.
    9.     Type OPA for the key name.
    10.     Close Registry Editor.
    You might need to change permissions so OPA can write to the event log in Registry Editor.  If you get permission errors, try following these steps:
    1.     Click Start, and then click Run.
    2.     In the Open text box, type regedit.
    3.     Locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog
    4.     Right-click the EventLog key, select Permissions.
    5.     In the dialog that pops up, click Add...
    6.     Click Advanced...
    7.     Click Locations... and select the current machine by name.
    8.     Click Find Now
    9.     Select both the Network user and IIS_IUSERS user and click OK and OK again. (We never did figure out which of those two users was the one that fixed our permission problem.)
    10.     Change the Network user to have Full Control
    11.     Click Apply and OK
    To verify OPA Logging to the windows event logs from Determinations-Server:
    Go to the IIS determinations-server application within Server Manager.
    Under Manage Application -> Browse Application click the http link to pull up the local "Available Services" web page that show the wsdl endpoints.
    Select the /determinations-server/server/soap.asmx?wsdl link
    Go to the URL and remove the "?wsdl" from the end of the url and refresh. This will throw the following error into the logs:
    ERROR Oracle.Determinations.Server.DSServlet [(null)] - Invalid get request: /determinations-server/server/soap.asmx
    That error should show up in the windows event log, OR you can get a message explaining why security stopped you in "logs/InfoDSLog.txt" if you used the web.config settings from above.
    http://msdn.microsoft.com/en-us/library/windows/desktop/aa363648(v=vs.85).aspx
    Edited by: Paul Fowler on Feb 21, 2013 9:45 AM

    Thanks for sharing this information Paul.

  • Type mismatch on SOAP Web Service method invocation

    When I run the generated client for a web service, I get the following error, which I can get rid of by using a primitive type (e.g. String) as the parameter to doSomething instead of wstest.test2.APIClass3, i.e. the SOAP server seems happy handling wstest.test2.APIClass1 as a return type, but not a similar class as a parameter type:
    [SOAPException: faultCode=SOAP-ENV:Server; msg=type mismatch [java.lang.IllegalArgumentException]]
         wstest.test2.APIClass1 wstest.test2.EmbeddedStatelessTest2Stub.doSomething(wstest.test2.APIClass3)
              EmbeddedStatelessTest2Stub.java:89
         void wstest.test2.EmbeddedStatelessTest2Stub.main(java.lang.String[])
              EmbeddedStatelessTest2Stub.java:48
    I am using JDeveloper9i 9.0.3 Preview and the standalone OC4J 9.0.3 that came with it. I followed the Oracle9i JDeveloper 9.0.3 Web Services Quickstart Install (http://otn.oracle.com/tech/webservices/htdocs/quickstart/quickstart903.html) to get OC4J running standalone. I had to register the stateless EJB provider, and the WEB services wizard didn't manage to include APIClass2 (an instance of which is contained in APIClass1) in the .dd so I added it manually which works fine with APIClass1 as the method return type.
    Sorry for the length of this posting, but I wasn't sure which bits would be relevant.
    WSDL
    ====
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!--Generated by the Oracle9i JDeveloper Web Services WSDL Generator-->
    <!--Date Created: Wed Sep 11 15:54:08 BST 2002-->
    <definitions
    name="StatelessTest2"
    targetNamespace="http://wstest/test2/StatelessTest2.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://wstest/test2/StatelessTest2.wsdl"
    xmlns:ns1="http://wstest.test2/IStatelessTest2.xsd">
    <types>
    <schema
    targetNamespace="http://wstest.test2/IStatelessTest2.xsd"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <complexType name="wstest_test2_APIClass3" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    <all>
    <element name="Name" type="string"/>
    <element name="Value" type="double"/>
    </all>
    </complexType>
    <complexType name="wstest_test2_APIClass1" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    <all>
    <element name="Name" type="string"/>
    <element name="Value" type="double"/>
    <element name="APIClass2" type="ns1:wstest_test2_APIClass2"/>
    </all>
    </complexType>
    <complexType name="wstest_test2_APIClass2" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    <all>
    <element name="IntegerValue" type="int"/>
    <element name="DoubleValue" type="double"/>
    <element name="Name" type="string"/>
    </all>
    </complexType>
    </schema>
    </types>
    <message name="doSomething0Request">
    <part name="p0" type="ns1:wstest_test2_APIClass3"/>
    </message>
    <message name="doSomething0Response">
    <part name="return" type="ns1:wstest_test2_APIClass1"/>
    </message>
    <portType name="StatelessTest2PortType">
    <operation name="doSomething">
    <input name="doSomething0Request" message="tns:doSomething0Request"/>
    <output name="doSomething0Response" message="tns:doSomething0Response"/>
    </operation>
    </portType>
    <binding name="StatelessTest2Binding" type="tns:StatelessTest2PortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="doSomething">
    <soap:operation soapAction="" style="rpc"/>
    <input name="doSomething0Request">
    <soap:body use="encoded" namespace="wstest.test2.StatelessTest2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </input>
    <output name="doSomething0Response">
    <soap:body use="encoded" namespace="wstest.test2.StatelessTest2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </output>
    </operation>
    </binding>
    <service name="StatelessTest2">
    <port name="StatelessTest2Port" binding="tns:StatelessTest2Binding">
    <soap:address location="http://localhost:8888/soap/servlet/soaprouter"/>
    </port>
    </service>
    </definitions>
    Deployment Decriptor
    ====================
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!--Generated by the Oracle9i JDeveloper Web Services Deployment Descriptor Generator-->
    <!--This Deployment Descriptor file is for use with the Oracle9iAS Release 2 / Apache 2.2 SOAP Server SOAP Server-->
    <!--Date Created: Wed Sep 11 15:54:09 BST 2002-->
    <isd:service
    id="wstest.test2.StatelessTest2"
    type="rpc"
    xmlns:isd="http://xmlns.oracle.com/soap/2001/04/deploy/service">
    <isd:provider
    id="stateless-ejb-provider"
    methods="doSomething"
    scope="Request">
    <isd:option key="JNDILocation" value="StatelessTest2"/>
    <isd:option key="DeploymentName" value="StatelessTest2"/>
    </isd:provider>
    <isd:faultListener
    class="org.apache.soap.server.DOMFaultListener"/>
    <isd:mappings>
    <isd:map
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:x="http://wstest.test2/IStatelessTest2.xsd"
    qname="x:wstest_test2_APIClass1"
    javaType="wstest.test2.APIClass1"
    java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
    xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
    <isd:map
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:x="http://wstest.test2/IStatelessTest2.xsd"
    qname="x:wstest_test2_APIClass2"
    javaType="wstest.test2.APIClass2"
    java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
    xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
    <isd:map
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:x="http://wstest.test2/IStatelessTest2.xsd"
    qname="x:wstest_test2_APIClass3"
    javaType="wstest.test2.APIClass3"
    java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
    xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
    </isd:mappings>
    </isd:service>
    StatelesTest2.java
    ==================
    package wstest.test2;
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;
    public interface StatelessTest2 extends EJBObject {
    * @webmethod
    APIClass1 doSomething(APIClass3 p0) throws RemoteException;
    StatelessTest2Bean.java
    =======================
    package wstest.test2.impl;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import wstest.test2.APIClass1;
    import wstest.test2.APIClass2;
    import wstest.test2.APIClass3;
    public class StatelessTest2Bean implements SessionBean {
    public void ejbCreate() {
    public void ejbActivate() {
    public void ejbPassivate() {
    public void ejbRemove() {
    public void setSessionContext(SessionContext ctx) {
    public APIClass1 doSomething(APIClass3 p0) {
    APIClass1 ac1 = new APIClass1();
    ac1.setName(p0.getName() + "1");
    ac1.setValue(p0.getValue());
    APIClass2 ac2 = ac1.getAPIClass2();
    ac2.setName(p0.getName() + "2");
    ac2.setIntegerValue(new Integer(ac1.getValue().intValue()));
    ac2.setDoubleValue(new Double(ac1.getValue().doubleValue() * 2.0));
    return ac1;
    EmbeddedStatelessTest2Stub.java
    ===============================
    I change the http port from 8988 to 8888 to get this working. Also, the generated referenced a new class APIClass31, also generated, but as it didn't make any difference to the problem I replaced it with APIClass3, which has essentially the same characteristics.
    package wstest.test2;
    import oracle.soap.transport.http.OracleSOAPHTTPConnection;
    import org.apache.soap.encoding.soapenc.BeanSerializer;
    import org.apache.soap.encoding.SOAPMappingRegistry;
    import org.apache.soap.util.xml.QName;
    import java.net.URL;
    import org.apache.soap.Constants;
    import org.apache.soap.Fault;
    import org.apache.soap.SOAPException;
    import org.apache.soap.rpc.Call;
    import org.apache.soap.rpc.Parameter;
    import org.apache.soap.rpc.Response;
    import wstest.test2.*;
    import java.util.Vector;
    import java.util.Properties;
    import wstest.test2.APIClass1;
    import wstest.test2.APIClass2;
    import wstest.test2.APIClass3;
    * Generated by the Oracle9i JDeveloper Web Services Stub/Skeleton Generator.
    * Date Created: Wed Sep 11 15:41:19 BST 2002
    * WSDL URL: file:/C:/Projects/WSTest/Test2/src/wstest/test2/StatelessTest2.wsdl
    public class EmbeddedStatelessTest2Stub
    public EmbeddedStatelessTest2Stub()
    m_httpConnection = new OracleSOAPHTTPConnection();
    m_smr = new SOAPMappingRegistry();
    BeanSerializer beanSer = new BeanSerializer();
    m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://wstest.test2/IStatelessTest2.xsd", "wstest_test2_APIClass1"), wstest.test2.APIClass1.class, beanSer, beanSer);
    m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://wstest.test2/IStatelessTest2.xsd", "wstest_test2_APIClass2"), wstest.test2.APIClass2.class, beanSer, beanSer);
    m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://wstest.test2/IStatelessTest2.xsd", "wstest_test2_APIClass3"), wstest.test2.APIClass3.class, beanSer, beanSer);
    public static void main(String[] args)
    try
    EmbeddedStatelessTest2Stub stub = new EmbeddedStatelessTest2Stub();
    // Add your own code here.
    APIClass3 ac3 = new APIClass3();
    ac3.setName("fred");
    ac3.setValue(new Double(17.36));
    printAPIClass3("Input", ac3);
    APIClass1 retAc1 = stub.doSomething(ac3);
    printAPIClass1("Return", retAc1);
    catch(Exception ex)
    ex.printStackTrace();
    public String endpoint = "http://172.25.1.176:8888/soap/servlet/soaprouter";
    private OracleSOAPHTTPConnection m_httpConnection = null;
    private SOAPMappingRegistry m_smr = null;
    public APIClass1 doSomething(APIClass3 p0) throws Exception
    APIClass1 returnVal = null;
    URL endpointURL = new URL(endpoint);
    Call call = new Call();
    call.setSOAPTransport(m_httpConnection);
    call.setTargetObjectURI("wstest.test2.StatelessTest2");
    call.setMethodName("doSomething");
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
    Vector params = new Vector();
    params.addElement(new Parameter("p0", wstest.test2.APIClass3.class, p0, null));
    call.setParams(params);
    call.setSOAPMappingRegistry(m_smr);
    Response response = call.invoke(endpointURL, "");
    if (!response.generatedFault())
    Parameter result = response.getReturnValue();
    returnVal = (APIClass1)result.getValue();
    else
    Fault fault = response.getFault();
    throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
    return returnVal;
    private static void printAPIClass3(String prefix, APIClass3 ac3)
    System.out.println(prefix + ": [" + ac3.getName() + ", " + ac3.getValue() + "]");
    private static void printAPIClass1(String prefix, APIClass1 ac1)
    APIClass2 ac2 = ac1.getAPIClass2();
    System.out.println(prefix + ": [" + ac1.getName() + ", " + ac1.getValue() + " ["
    + ac2.getName() + ", " + ac2.getIntegerValue() + ", " + ac2.getDoubleValue()
    + "]]");
    public void setMaintainSession(boolean maintainSession)
    m_httpConnection.setMaintainSession(maintainSession);
    public boolean getMaintainSession()
    return m_httpConnection.getMaintainSession();
    public void setTransportProperties(Properties props)
    m_httpConnection.setProperties(props);
    public Properties getTransportProperties()
    return m_httpConnection.getProperties();
    APIClass1.java
    ==============
    package wstest.test2;
    import java.io.Serializable;
    public class APIClass1 implements Serializable {
    private String name;
    private Double value;
    private APIClass2 apiClass2;
    public APIClass1() {
    name = new String("");
    value = new Double(0.0);
    apiClass2 = new APIClass2();
    public String getName() {
    return name;
    public void setName(String newName) {
    name = new String(newName);
    public Double getValue() {
    return value;
    public void setValue(Double newValue) {
    value = new Double(newValue.doubleValue());
    public APIClass2 getAPIClass2() {
    return apiClass2;
    public void setAPIClass2(APIClass2 newAPIClass2) {
    apiClass2 = new APIClass2();
    apiClass2.setName(newAPIClass2.getName());
    apiClass2.setDoubleValue(newAPIClass2.getDoubleValue());
    apiClass2.setIntegerValue(newAPIClass2.getIntegerValue());
    APIClass2.java
    ==============
    package wstest.test2;
    import java.io.Serializable;
    public class APIClass2 implements Serializable {
    private String name;
    private Integer iVal;
    private Double dVal;
    public APIClass2() {
    iVal = new Integer(0);
    dVal = new Double(0.0);
    name = new String("");
    public Integer getIntegerValue() {
    return iVal;
    public void setIntegerValue(Integer newIVal) {
    iVal = new Integer(newIVal.intValue());
    public Double getDoubleValue() {
    return dVal;
    public void setDoubleValue(Double newDoubleValue) {
    dVal = new Double(newDoubleValue.doubleValue());
    public String getName() {
    return name;
    public void setName(String newName) {
    name = new String(newName);
    APIClass3.java
    ==============
    package wstest.test2;
    import java.io.Serializable;
    public class APIClass3 implements Serializable {
    private String name;
    private Double value;
    public APIClass3() {
    public String getName() {
    return name;
    public void setName(String newName) {
    name = new String(newName);
    public Double getValue() {
    return value;
    public void setValue(Double newValue) {
    value = new Double(newValue.doubleValue());
    APIClass31.java
    ===============
    package wstest.test2;
    * Generated by the Oracle9i JDeveloper Web Services Stub/Skeleton Generator.
    * Date Created: Wed Sep 11 10:44:56 BST 2002
    * <pre>
    * &lt;complexType name="wstest_test2_APIClass3" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    * &lt;all>
    * &lt;element name="Name" type="string"/>
    * &lt;element name="Value" type="double"/>
    * &lt;/all>
    * &lt;/complexType>
    * </pre>
    public class APIClass31 {
    private String m_Name;
    private Double m_Value;
    public APIClass31() {
    public APIClass31(String Name, Double Value) {
    m_Name = Name;
    m_Value = Value;
    public void setName(String Name) {
    m_Name = Name;
    public String getName() {
    return m_Name;
    public void setValue(Double Value) {
    m_Value = Value;
    public Double getValue() {
    return m_Value;

    I believe this is a bug in JDev/OC4J 9.0.3 that is being further investigated right now. I have duplicated your problem in a simpler test case and folks are looking into it.
    Mike.

  • BPEL process times out when SOAP-ENV:Fault is received from service.

    Hi - I have a BPEL process identical to one in 10.1.2.0.2. If I execute the same test, the BPEL console displays the following on the console for version 10.1.2.0.2.
    <Response>Clientwhen invoking endpointAddress 'http://galileo.wlgore.com:5555/soap/default', [ISS.0088.9134] Exception occurred while processing the body of the messageAxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client faultSubcode: faultString: [ISS.0088.9134] Exception occurred while processing the body of the message faultActor: http://galileo.wlgore.com:5555/soap/default faultNode: faultDetail: {http://www.webMethods.com/2001/10/soap/encoding}exception: <className>com.wm.pkg.art.error.DetailedServiceException</className>
         <message lang="">[ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service GORE_DSI_Services.AdaptorService:WorkOrderCompletion. BSFN error code: 2 Number of error: 1 Error item 1 ErrorLevel : 1 ErrorID : 0 DDItem : 0115 lineNumber : 5371 fileName : nd3n1114.c subText : alphaDescription : Error: Work Order Number Invalid glossaryText : CAUSE . . . . The Work Order Number entered does not exist in the Work Order Master file (F4801). RESOLUTION. . Either enter the correct Work Order Number or create a new Work Order for the number on the display. javax.resource.ResourceException: BSFN error code: 2 Number of error: 1 Error item 1 ErrorLevel : 1 ErrorID : 0 DDItem : 0115 lineNumber : 5371 fileName : nd3n1114.c subText : alphaDescription : Error: Work Order Number Invalid glossaryText : CAUSE . . . . The Work Order Number entered does not exist in the Work Order Master file (F4801). RESOLUTION. . Either enter the correct Work Order Number or create a new Work Order for the number on the display. at com.psft.xpi.adapter.erp.service.BSFNExecuteTemplateImpl.execute(BSFNExecuteTemplateImpl.java:306) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.psft.xpi.adapter.erp.service.BSFNExecuteTemplate.execute(BSFNExecuteTemplate.java:134) at com.wm.adk.cci.interaction.WmInteraction.execute(WmInteraction.java:70) at com.wm.pkg.art.ns.AdapterServiceNode.invokeService(AdapterServiceNode.java:596) at com.wm.pkg.art.ns.ARTNSService.baseInvoke(ARTNSService.java:47) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:155) at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324) at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:580) at com.wm.lang.flow.FlowState.step(FlowState.java:438) at com.wm.lang.flow.FlowState.invoke(FlowState.java:403) at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1749) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:113) at com.wm.app.b2b.server.Service.doInvoke(Service.java:607) at com.wm.app.b2b.server.Service.doInvoke(Service.java:556) at wm.server.soap.envelope(soap.java:98) at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:287) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:128) at com.wm.app.b2b.server.HTTPSOAPHandler._process(HTTPSOAPHandler.java:457) at com.wm.app.b2b.server.HTTPSOAPHandler.process(HTTPSOAPHandler.java:111) at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:298) at com.wm.util.pool.PooledThread.run(PooledThread.java:105) at java.lang.Thread.run(Thread.java:534) </message>
    </Response>
    With this version, however, we either receive "java.lang.IllegalStateException: "Cannot call setRollbackOnly() current thread is NOT associated with a transaction" or a timeout error.
    I captured the return message from both servers and it is identical (shown below):
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
         <SOAP-ENV:Body>
              <SOAP-ENV:Fault>
                   <faultcode>SOAP-ENV:Client</faultcode>
                   <faultstring>[ISS.0088.9134] Exception occurred while processing the body of the message</faultstring>
                   <faultactor>http://galileo.wlgore.com:5555/soap/default </faultactor>
                   <detail xmlns:webM="http://www.webMethods.com/2001/10/soap/encoding">
                        <webM:exception>
                             <webM:className>com.wm.pkg.art.error.DetailedServiceException</webM:className>
                             <webM:message xml:lang="">="">[ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service GORE_DSI_Services.AdaptorService:WorkOrderCompletion. BSFN error code: 2 Number of error: 1 Error item 1 ErrorLevel : 1 ErrorID : 0 DDItem : 0115 lineNumber : 5371 fileName : nd3n1114.c subText : alphaDescription : Error: Work Order Number Invalid glossaryText : CAUSE . . . . The Work Order Number entered does not exist in the Work Order Master file (F4801). RESOLUTION. . Either enter the correct Work Order Number or create a new Work Order for the number on the display. javax.resource.ResourceException: BSFN error code: 2 Number of error: 1 Error item 1 ErrorLevel : 1 ErrorID : 0 DDItem : 0115 lineNumber : 5371 fileName : nd3n1114.c subText : alphaDescription : Error: Work Order Number Invalid glossaryText : CAUSE . . . . The Work Order Number entered does not exist in the Work Order Master file (F4801). RESOLUTION. . Either enter the correct Work Order Number or create a new Work Order for the number on the display. at com.psft.xpi.adapter.erp.service.BSFNExecuteTemplateImpl.execute(BSFNExecuteTemplateImpl.java:306) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.psft.xpi.adapter.erp.service.BSFNExecuteTemplate.execute(BSFNExecuteTemplate.java:134) at com.wm.adk.cci.interaction.WmInteraction.execute(WmInteraction.java:70) at com.wm.pkg.art.ns.AdapterServiceNode.invokeService(AdapterServiceNode.java:596) at com.wm.pkg.art.ns.ARTNSService.baseInvoke(ARTNSService.java:47) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:155) at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324) at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:580) at com.wm.lang.flow.FlowState.step(FlowState.java:438) at com.wm.lang.flow.FlowState.invoke(FlowState.java:403) at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1749) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:113) at com.wm.app.b2b.server.Service.doInvoke(Service.java:607) at com.wm.app.b2b.server.Service.doInvoke(Service.java:556) at wm.server.soap.envelope(soap.java:98) at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:287) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:384) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:486) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:359) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246) at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:128) at com.wm.app.b2b.server.HTTPSOAPHandler._process(HTTPSOAPHandler.java:457) at com.wm.app.b2b.server.HTTPSOAPHandler.process(HTTPSOAPHandler.java:111) at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:298) at com.wm.util.pool.PooledThread.run(PooledThread.java:105) at java.lang.Thread.run(Thread.java:534)</webM:message>
                        </webM:exception>
                   </detail>
              </SOAP-ENV:Fault>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Thanks,
    RM

    We have tested this same scenario for several services and are experiencing the same result... timing out instead of returning the fault. This is a critical issue for us and would prevent us from implementing this software.

  • IDOC --- XI ----- SOAP

    Hi All,
    Our Scenario is IDOC XI SOAP synchronous.
    We get data from IDOC to XI and send it to SOAP, I get response back from SOAP which is sent to R3 by STATUS IDOC.We have implemented BPM in our scenario and there is no Exception handling.
    My question is, if the SOAP server is down then I get a System Error.What we want to know is
    1. Whether it is possible to send the failed IDOC again to SOAP from XI and get the response back( I guess this is not possible in our case). Does Exception handling enables this feature ??
    2. Is it possible to know the status of SOAP server in BPM so that we can keep the incoming IDOCs in queue and send them once the SOAP is up?
    3. If Exception handling/Fault messages concept is implemented then can we send response back to STATUS IDOC from XI(Note: We need the incoming IDOC number must for this as R3 should know which IDOC is failed).
    Points will be rewarded for helpful answers.
    Thanks & regards,
    Satish

    Hi Satish,
    1. Whether it is possible to send the failed IDOC again to SOAP from XI and get the response back( I guess this is not possible in our case). Does Exception handling enables this feature ??
    Ans) It is possible to resend the data from the XI system if it is failed and sits in the Adapter engine (Message monitoring) here you can resend it once the SOAP server is up.............
    2. Is it possible to know the status of SOAP server in BPM so that we can keep the incoming IDOCs in queue and send them once the SOAP is up?
    Ans) Yes it is possible to know the status of the SOAP , for this you need to include a step in the BPM to have a lookup at the server(SOAP)...Once it is up the workflow can be restarted again manually.................
    3. If Exception handling/Fault messages concept is implemented then can we send response back to STATUS IDOC from XI(Note: We need the incoming IDOC number must for this as R3 should know which IDOC is failed).
    Ans) Yes if the exception handling is done then it is important to have the incoming idoc number so that the response will be send with this idoc number and also the status of the mentioed idoc ..you can achive this with exception handling
    Regards
    Sai
    Reward with points will helpfull

  • SOAP BODY data to be Put into SOAP Header

    Hi All,
    Could you kindly help me out in this issue?
    Basically our Requirement is to send the UserID and Password stored in
    the R/3 system to the 3rd Party Server as a part of the SOAP Header .
    Presently I am using a Message Interface which takes the parameters
    UserID and Password and hence its placing them in the SOAP BODY which in
    turn in resulting in Rejection of the data sent being us. So I guess we
    have to do some take out these parameters from Message Interface and
    try out something else.
    So Could you help us out in this issue since we are stuck  and hence not
    able to proceed any further.
    Here are some Details :
    Here is the extract from the XML File:
    A) Format in XI
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns1:DPSrequestToken xmlns:ns1="http://tempuri.org/message/">
    - <Username>
      <Username>ANYAGENT</Username>
      <Password>p2ssword</Password>
      </Username>
    - <DPSrequestToken>
      <version>1</version>
      <vendorID>0142</vendorID>
      </DPSrequestToken>
      </ns1:DPSrequestToken>
    B) The way the file needs to be sent to the 3rd party server
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
         xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Header>
            <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <wsse:UsernameToken>
                    <wsse:Username>ANYAGENT</wsse:Username>
                    <wsse:Password>p2ssword</wsse:Password>
                </wsse:UsernameToken>
            </wsse:Security>
    </SOAP-ENV:Header>
         <SOAP-ENV:Body>
              <m:DPSrequestToken xmlns:m="https://tpvs.hmrc.gov.uk/dpsauthentication">
                   <m:version>1</m:version>
                   <m:vendorID>your 4 digit vendorID</m:vendorID>
              </m:DPSrequestToken>
         </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Basically as mentioned above
      <Username>ANYAGENT</Username>
      <Password>p2ssword</Password> ,Tokens should be sent in the SOAP
    Header which is now being sent in the Body and hence causing problems.
    Do get back to me in case you need any clarifications on this issue.
    Best Regards,
    Chandan
    Message was edited by: Chandan A C

    see this --> page 2
    HTTP Adapter error.
    Rgds

  • SOAP or XI adaptor should be used

    Hi Expert,
    I have a scenario where the sender should call XI in form of web service, XI will forward the call to the ABAP using proxy. My question is how should I configure the sender agreement:
    1) Since it's web service, I guess it should be SOAP sender adaptor. In this case the web service can be called using http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel. However when I try to define the web service in ID, I was asked to enter Integration Server SOAP Inbound Channel (URL), when I click on hte button Propose URL, the link I get is http://host:port/sap/xi/engine?type=entry. Should I change it to http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel?
    2) People also talk about posting directly to the IS instead of going through adaptor. Does this mean that no sender agreement is needed? the sender just calls http://host:port/sap/xi/engine?type=entry with the soap message? or we still need XI adaptor to configure the sender agreement?
    Can somebody please make this clear? Basically sender should call XI in form of web service, so, what should be configured in XI so that the web serice can be called.
    Thanks
    Jayson

    1) Since it's web service, I guess it should be SOAP sender adaptor. In this case the web service can be called using http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel. However when I try to define the web service in ID, I was asked to enter Integration Server SOAP Inbound Channel (URL), when I click on hte button Propose URL, the link I get is http://host:port/sap/xi/engine?type=entry. Should I change it to http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel?
    2) People also talk about posting directly to the IS instead of going through adaptor. Does this mean that no sender agreement is needed? the sender just calls http://host:port/sap/xi/engine?type=entry with the soap message? or we still need XI adaptor to configure the sender agreement?
    1) Since it is web service, then the sender adapter would definitely be a Soap Sender. The difference between
    http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel, this goes through the adapter engine efore going into the Integration Engine and http://host:port/sap/xi/engine?type=entry... hits the Integration engine directly.
    It is explained in this blog, Using the SOAP inbound channel of the Integration Engine, the advantage and disadvantage of the message going directly to the integration engine
    2) You would not require any sender agreement if you post into the Integration Server directly. You do not need any XI adapter to configure the sender agreement

Maybe you are looking for

  • How can I synchronize KineticSystems V200 boards in a PXI/VXI hybrid system?

    My current setup is a VXI/PXI hybrid system.  I use a PC controller over a MXI-4 connection to connect to my PXI system, and use a MXI-2 connection to connect to my VXI system.  I have a PXI-6653 timing card in my PXI chassis and I am routing my 10 M

  • Stored Procedure with CSV string as parameters

    Hi, I have been tasked with this issue, but I have no real SQL/Oracle experience. My boss advises that the best way to do this would be to pass a CSV string into the stored proc for each parameter, What I need to do is parse the CSV string and use ea

  • Application document created by IDoc

    Guys, Is there a function module that would give me the Application document that got created by posting a given IDoc? In other words, if I know the Idoc number, is there an easy way to get the application document number, once the Idoc posted succes

  • Some Contacts getting combined with others when syncing from google

    I am having an issue where some of my contacts are getting merged when syncing from google. For example I have 3 contacts: Company 1 dispatch which has two phone numbers   Company 2 dispatch which has two phone numbers   Company 3 dispatch which has

  • Move undo and temporary tablespace to new path

    Hi All, I want to move my undo and temporary tablespace to new path because of space issue. I am using Oracle 10g release 2 and working on production server can't take shutdown without prior permission. Please tell me the steps to do so... thanks Api