Transactions in Web Services

hi all
I have a problem understanding how transactions in webservices work. I am using netbeans 5.5 with j2ee5 and mysql, I have looked on the java tutorial but am only getting deployment errors, without the transcations the program works perfectly.is there anyway to use transactions in a webservice.
please help
thanks in advance
Brian

Brian, have you found a solution to your problem?
I'm interested in the transactional aspects of web services as well.

Similar Messages

  • Error while calling MII transaction as web service from ABAP

    Hello Experts,
    I want to call a MII transaction from ABAP program, as a web service.
    Following is output of http://<<server>>:50000/XMII/SOAPRunner/TAG_TRX  (TAG_TRX is name of my transaction).
      <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.sap.com/xMII" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.sap.com/xMII">
    - <!--  Types
      -->
    - <types>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://www.sap.com/xMII">
    - <s:complexType name="InputParams">
    - <s:sequence id="InputSequence">
      <s:element maxOccurs="1" minOccurs="0" name="WEIGHT" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="BATCHID" type="s:string" />
      </s:sequence>
      </s:complexType>
    - <s:element name="XacuteRequest">
    - <s:complexType>
    - <s:sequence>
      <s:element maxOccurs="1" minOccurs="0" name="LoginName" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="LoginPassword" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:InputParams" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="Rowset">
    - <s:sequence>
      <s:element maxOccurs="unbounded" minOccurs="0" name="Row" type="s0:Row" />
      </s:sequence>
      <s:attribute name="Message" type="s:string" />
      </s:complexType>
    - <s:complexType name="Row">
      <s:sequence id="RowSequence" />
      </s:complexType>
    - <s:element name="XacuteResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element maxOccurs="1" minOccurs="0" name="Rowset" type="s0:Rowset" />
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:schema>
      </types>
    - <!--  Messages
      -->
    - <message name="XacuteSoapIn">
      <part element="s0:XacuteRequest" name="parameters" />
      </message>
    - <message name="XacuteSoapOut">
      <part element="s0:XacuteResponse" name="parameters" />
      </message>
    - <!--  Ports
      -->
    - <portType name="XacuteWSSoap">
    - <operation name="Xacute">
      <input message="s0:XacuteSoapIn" />
      <output message="s0:XacuteSoapOut" />
      </operation>
      </portType>
    - <!--  Bindings
      -->
    - <binding name="XacuteWSSoap" type="s0:XacuteWSSoap">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="Xacute">
      <soap:operation soapAction="http://www.sap.com/xMII" style="document" />
    - <input>
      <soap:body use="literal" />
      </input>
    - <output>
      <soap:body use="literal" />
      </output>
      </operation>
      </binding>
    - <!--  Service mapping
      -->
    - <service name="XacuteWS">
    - <port binding="s0:XacuteWSSoap" name="XacuteWSSoap">
      <soap:address location="http://<<server>>:50000/XMII/SOAPRunner/TAG_TRX" />
      </port>
      </service>
      </definitions>
    Now, when I am using http://<<server>>:50000/XMII/SOAPRunner/TAG_TRX to create a Enterprise Service in SAP (i.e. SE80 transaction-> Create Enterprise Service-> Service Consumer-> URL/HTTP Destination-> URL ... I am getting following error.
    Incorrect value: Entity "<<document>>"(5 /93 ). unexpected symbol: '<'     
    But, whenever I am using the same URL in MII BLS, it does not give any error. It correctly shows all input and output parameters.
    Please help me to resolve this issue.
    Regards
    Neeta.

    Now, I am able to create the Web Service in SAP and it is now showing the respective class, attribute and methods to execute this web service (web service to call MII transaction).
    But when I am calling it from ABAP (a simple Web Dynpro for ABAP method), it is showing me the following error:
    Error (id=GET_BUSINESS_SYSTEM_ERROR): An error occurred when determining the business system (LD_ERROR)
    Thought this error is coming from ABAP program, but I am sure that this is related to some configuration at SAP level. (Let me inform you that there are two different servers for SAP Web Dynpro ABAP and SAP MII.
    Please help.
    Thanks in advance.

  • Error calling BLS Transaction as Web service

    Hi,
    I am trying to call BLS tranx as Webservice from another BLS Tranx.
    I craeted the simple BLS with no input parameter and set only one output parameter.
    Then i created the WSDL as
    http://<server:port>/XMII/WSDLGen/<Transaction path>.
    In new BLS tranx, i created the Web Service action block and gave this WSDL URL (http://<server:port>/XMII/WSDLGen/<Transaction path>).
    I gave username and password and selected the port(XacuteWSSoap) and then operation( xacute).
    In Links, I gave the Loginname and Password.
    But while executing, it showed the error as
    Error Invoking Web Service Action: Status (401): Unauthorized
    My username and Loginname and passwords are correct only.
    What is the problem and how to solve it.
    Regards,
    Senthil

    Hi,
    Which SAP MII version you are using?
    I have tested one piece in MII 12.0.9 it works for me following are steps which i followed.
    After WSDL generation
    1. in Web service action block --> cofigure i am passing following parameters
    WSDL base URL:  http://<server:port>/XMII/WSDLGen/<transaction Path>
    User Name: XXX
    Password: XXX
    2. in Web service action block --> Links I am passing following parameters
    WSDLUrl : http://<server:port>/XMII/WSDLGen/<transaction Path>
    Web_Service_0.XacuteRequest{/ns1:XacuteRequest/ns1:LoginName} : XXX
    Web_Service_0.XacuteRequest{/ns1:XacuteRequest/ns1:LoginPassword} : XXX
    Refer below SDN thread may be helpfull:
    [Web Service Action Block;
    Hope it helps!!
    Regards,
    Manoj Bilthare

  • Error while calling MII transaction as web service

    Hi all,
    I am using MII version 12.1.8
    When i try calling a BLS as a web service i am getting an error as " [ERROR] Error Invoking Web Service Action: Status (502): Proxy Error ( No data record is available. ) "
    The same WSDLGen url is working from the browser. The path is http://<server>:50000/XMII/WSDLGen/<TrxPath>
    I also gave Proxy Host and Proxy Port in System Management --> System Administration
    Is there anything i am missing in the web service action.
    Kindly help
    Regards
    Muzammil

    Hi Diana,
    It is working now. I removed the proxy settings from system administrator and added a new credential alias for web service. And then it started working..
    The scenario which i am trying is as mentioned. We need to call a transaction from a diiferent MII Server. So at first i was trying with the Trx within the same server.
    Hope this is the best way to access the transaction from a different server.
    Regards
    Muzammil

  • Create MII transaction & MII Web Service and consume them in ABAP

    Hi,
    there is a document from Pradip Ray (SAP Labs India) published on SDN:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/208239ac-3161-2b10-f29a-abec6754942e
    He explains how to build a transaction in MII, expose it as a web service then consume it in an ABAP program by generating a ABAP consumer proxy for this service.
    I have done this and it works but the problems started when I tried to generate a second ABAP consumer proxy for a second web service build in MII.
    In the ABAP system , transaction SE80 then display proxy class:  ( e.g. ZMIICO_XACUTE_WSSOAP )
    then go to Properties tab , under sub-screen "External key" you can see the "Name: XacuteWSSoap".
    This is the web service port type name generated at MII and is always the same for all the MII web services. When you try to generate a second proxy for a second MII web service you get the following message  "A proxy already exists for object XacuteWSSoap (namespace http://www.sap.com/xMII) "
    This can be changed by editing the WSDL file but then another problem occurs which is related to the "InputParams" complex type. This tag gets generated with the same name for all the web services in MII.  The generation of the ABAP structure with the following name: INPUT_PARAMS will override the previous one .  This means that the previous ABAP proxy will not work anymore.
    Has any one experimented this ?
    Daryoush Delgari.
    This is the generated WSDL on MII:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions targetNamespace="http://www.sap.com/xMII" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.sap.com/xMII" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    - <!--  Types
      -->
    - <types>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://www.sap.com/xMII">
    + <s:complexType name="InputParams">
    - <s:sequence id="InputSequence">
      <s:element maxOccurs="1" minOccurs="0" name="FromDate" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="PLANT" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="ToDate" type="s:string" />
      </s:sequence>
      </s:complexType>
    - <s:element name="XacuteRequest">
    - <s:complexType>
    - <s:sequence>
      <s:element maxOccurs="1" minOccurs="0" name="LoginName" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="LoginPassword" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:InputParams" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="Rowset">
    - <s:sequence>
      <s:element maxOccurs="unbounded" minOccurs="0" name="Row" type="s0:Row" />
      </s:sequence>
      <s:attribute name="Message" type="s:string" />
      </s:complexType>
    - <s:complexType name="Row">
    - <s:sequence id="RowSequence">
      <s:element maxOccurs="1" minOccurs="1" name="Day" type="s:string" />
      <s:element maxOccurs="1" minOccurs="1" name="Item" type="s:string" />
      <s:element maxOccurs="1" minOccurs="1" name="Resource" type="s:string" />
      <s:element maxOccurs="1" minOccurs="1" name="WorkCenter" type="s:string" />
      <s:element maxOccurs="1" minOccurs="1" name="ShopOrder" type="s:string" />
      <s:element maxOccurs="1" minOccurs="1" name="OrderQty" type="s:long" />
      <s:element maxOccurs="1" minOccurs="1" name="Cured" type="s:long" />
      </s:sequence>
      </s:complexType>
    - <s:element name="XacuteResponse">
    - <s:complexType>
    + <s:sequence>
      <s:element maxOccurs="1" minOccurs="0" name="Rowset" type="s0:Rowset" />
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:schema>
      </types>
    - <!--  Messages
      -->
    - <message name="XacuteSoapIn">
      <part element="s0:XacuteRequest" name="parameters" />
      </message>
    - <message name="XacuteSoapOut">
      <part element="s0:XacuteResponse" name="parameters" />
      </message>
    - <!--  Ports
      -->
    - <portType name="XacuteWSSoap">
    - <operation name="Xacute">
      <input message="s0:XacuteSoapIn" />
      <output message="s0:XacuteSoapOut" />
      </operation>
      </portType>
    - <!--  Bindings
      -->
    - <binding name="XacuteWSSoap" type="s0:XacuteWSSoap">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="Xacute">
      <soap:operation soapAction="http://www.sap.com/xMII" style="document" />
    - <input>
      <soap:body use="literal" />
      </input>
    - <output>
      <soap:body use="literal" />
      </output>
      </operation>
      </binding>
    - <!--  Service mapping
      -->
    - <service name="XacuteWS">
    - <port binding="s0:XacuteWSSoap" name="XacuteWSSoap">
      <soap:address location="http://<host>:port/XMII/SOAPRunner/Default/Amrik/Wolves/WDPro/getCuresByPeriod" />
      </port>
      </service>
      </definitions>

    Hi Daryoush,
    Little surprise for you, I got the solution ;o)
    In fact, editing the WDSL file, you can change the parameter names which will be generated in Web Dynpro. You have to change the tag <complex type ...>.
    For example :
    <s:complexType name="InputParams">
    Could become :
    <s:complexType name="*Zs1*InputParams">
    and later in the code, you should reference the element appropriately
      <s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:InputParams"/>
    should become :
       <s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:*Zs1*InputParams"/>
    But take care to keep name="InputParams", it's the xlm name which will be used by MII to do the matching...
    Take care also that you have to do the same for output, that means ROW and ROWSET complex type...
    So, to be concrete, here are an example with in bold everything I changed against the original MII WDL file...
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions targetNamespace="http://www.sap.com/xMII" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.sap.com/xMII" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
        <!-- Types -->
        <types>
            <s:schema elementFormDefault="qualified" targetNamespace="http://www.sap.com/xMII">
                <s:complexType name="*Zs1*InputParams">
                    <s:sequence id="InputSequence">
                      <s:element maxOccurs="1" minOccurs="0" name="inputItem" type="s:string"/>
                      <s:element maxOccurs="1" minOccurs="0" name="inputPlant" type="s:string"/>
                      <s:element maxOccurs="1" minOccurs="0" name="inputSearchBy" s:long"/>
                </s:sequence>
                </s:complexType>
                <s:element name="XacuteRequest">
                    <s:complexType>
                        <s:sequence>
                            <s:element maxOccurs="1" minOccurs="0" name="LoginName" type="s:string"/>
                            <s:element maxOccurs="1" minOccurs="0" name="LoginPassword" type="s:string"/>
                            <s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:*Zs1*InputParams"/>
                        </s:sequence>
                    </s:complexType>
                </s:element>
                <s:complexType name="*Zs1*Rowset">
                    <s:sequence>
                        <s:element maxOccurs="unbounded" minOccurs="0" name="Row" type="s0:*Zs1*Row"/>
                    </s:sequence>
                    <s:attribute name="Message" type="s:string"/>
                </s:complexType>
                <s:complexType name="*Zs1*Row">
                    <s:sequence id="RowSequence">
                    <s:element maxOccurs="1" minOccurs="1" name="Item" type="s:string"/><s:element maxOccurs="1" minOccurs="1" name="ItemDescription" type="s:string"/></s:sequence>
                </s:complexType>
                <s:element name="XacuteResponse">
                    <s:complexType>
                        <s:sequence>
                            <s:element maxOccurs="1" minOccurs="0" name="Rowset" type="s0:*Zs1*Rowset"/>
                        </s:sequence>
                    </s:complexType>
                </s:element>
            </s:schema>
        </types>
        <!-- Messages -->
        <message name="Xacute*Zs1*In">
            <part element="s0:XacuteRequest" name="parameters"/>
        </message>
        <message name="Xacute*Zs1*Out">
            <part element="s0:XacuteResponse" name="parameters"/>
        </message>
        <!-- Ports -->
        <portType name="Xacute*MyTest*">
            <operation name="Xacute">
                <input message="s0:Xacute*Zs1*In"/>
                <output message="s0:Xacute*Zs1*Out"/>
            </operation>
        </portType>
        <!-- Bindings -->
        <binding name="Xacute*MyTest*" type="s0:Xacute*MyTest*">
            <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
            <operation name="Xacute">
                <soap:operation soapAction="http://www.sap.com/xMII" style="document"/>
                <input>
                    <soap:body use="literal"/>
                </input>
                <output>
                    <soap:body use="literal"/>
                </output>
            </operation>
        </binding>
        <!-- Service mapping -->
        <service name="XacuteWS">
            <port binding="s0:XacuteMyTest" name="XacuteMyTest">
                <soap:address location="http://host/XMII/SOAPRunner/Development/WebServices/GetItems/getItemsTrx"/>
            </port>
        </service>
    </definitions>
    If you want a demo, you can come to my desk ;o)
    Edited by: Olivier Thiry on Mar 12, 2009 1:02 PM
    Damned, the bold tag seems not to work... So all my changes are between star (..)

  • MII transaction as Web service integration

    Hi MII's transaction can be called as WS but it has its own format. We have a system to integrate and this system should call MII's transaction. However the WS interface of the system is inflexible (it cannot be change, but has a very simple structure). So I just want to know any idea how we could change MII in order to adapt to the data structure .

    Now, I am able to create the Web Service in SAP and it is now showing the respective class, attribute and methods to execute this web service (web service to call MII transaction).
    But when I am calling it from ABAP (a simple Web Dynpro for ABAP method), it is showing me the following error:
    Error (id=GET_BUSINESS_SYSTEM_ERROR): An error occurred when determining the business system (LD_ERROR)
    Thought this error is coming from ABAP program, but I am sure that this is related to some configuration at SAP level. (Let me inform you that there are two different servers for SAP Web Dynpro ABAP and SAP MII.
    Please help.
    Thanks in advance.

  • Transaction inside web services, what does Oracle AS provides?

    Hi
    Thank you for reading my post.
    we have tens of web services that we want to deploy them inside one instance of Oracle AS, now we need to have some transaction support in several levels :
    - When we insert data into database in a single web services.
    - When we have JMS interaction in a single web service.
    - When we have JMS + Database interaction in a single web service.
    - When a taransaction start from one web service and it must propagate inside second web service and second web service will decide whether it should be commited or not.
    What does Oracle AS provides in this area?
    If there is no support for this kind of scenario in Oracle AS, then what we should do?
    Thanks

    Hi,
    1) if you are using Oracle Database 10g JDBC, it can pool connections for you, transparently -- if you are using Oracle AS or Oracle9iAS, you can just use JPublisher to generate the wrapper and deploy it.
    2) SSB is too heavy for just placing a JDBC call.
    3) a Servlet is lighter-weight that a SSB however, the Web services framework itself uses a Servlet to marchall / unmarshall SOAP messages -- unless your middle-tier requires a J2EE programming model (such as Servle or EJB) to pool JDBC connections
    4)For calling-in database operations as web services, our implementation requires the Oracle AS (or Oracle9iAS) OC4J middle-tier (see #1) however, you can invoke external Web services from within the database.
    See our Database Web services page for more details and code samples
    http://otn.oracle.com/tech/webservices/database.html
    Kuassi

  • Error while calling web service through Internet Transaction Service.

    Hi,
    I am trying to execute transaction through web service. This service is attached to Internet Transaction Server (ITS). In Transaction SICF, in ITS when I test service, getting Error Message : New session rejected due to Memory bottleneck.
    Thanks,
    Anup

    Hi,
    you need to provide a better description of what you did (implementation) and what you want (use case). All I can see from your question is that you have a class cast issue.
    Frank

  • Database transaction management in Web services

    Hi,
    I am using Oracle8i and firing some database queries from my web services. I want to do the transaction management for the same i.e. When one of the queries fail, i want to rollback. But when i write my own transaction management, it gives me an error :
    java.sql.SQLException: Cannot call Connection.commit in distributed transaction.Transaction Manager will commit the resource manager when the distributed transaction is committed.
    Can anyone please help me out as to how to perform the database transaction management in web services.
    Thanking in advance.
    Prashant

    Unfortunately to manage transactions over web services there is no viable solution available in market. All implementations come with restrictions e.g. Metro works with only EJBs on Glassfish, JBossTS works on JBoss but not with JAX-WS, Atomikos supports only Axis as of now.
    1. See explanation above.
    2. Yes, it can be but conditions mentioned above are applied :-)
    3. [www.oasis-open.org/committees/ws-tx/|www.oasis-open.org/committees/ws-tx/]
    4. Unfortunately as of now I do not see an easy way to this problem.

  • Transaction Output when invoked Web Service

    Hi all,
    I have developed a transaction which has an output parameter of type list, derived from the classic ERP BAPI Flight Get List
    When I invoke the transaction as web service from a SOAP test tool I get a SOAP response like:
    <MyTestOutput>
    [[string:FRA], [string:TYO], [string:FCO],  [string:KIX]]
    </MyTestOutput>
    So the output xml element is just one, containing the whole list.
    I don't like this because the web service consumer must parse that element to get all the result items.
    What I would like is a more xml-like output structure, such as:
    <MyTestOutput>[string:FRA]</MyTestOutput>
    <MyTestOutput>[string:TYO]</MyTestOutput>
    <MyTestOutput>[string:FCO]</MyTestOutput>
    <MyTestOutput>[string:KIX]</MyTestOutput>
    Is there a simple way to achieve that?
    In the help/guides I have studied there's no hint about how to do so.
    Thanks, regards
    Vincenzo

    Hi Vincenzo,
    I reopened your thread. 
    Instead of making your output parameter type of List, create an output parameter of type xml.  If you look at most of the transactions available as downloads, you will see numerous examples of the types of structures the xml will accomodate.  And you will not have to convert the outputs back to xml for further processing.
    If you use a repeater to build your xml, you can accomplish the structure you desire.  Alternatively, you can build an MII Document and the format will be
    <Rowsets>
    <Rowset>
    <Row>
    <your Fieldname>
    data1
    </your Fieldname>
    </Row>
    <Row>
    <your Fieldname>
    data2
    </your Fieldname>
    </Row>
    <Row>
    <your Fieldname>
    data3
    </your Fieldname>
    </Row>
    <Row>
    <your Fieldname>
    data4
    </your Fieldname>
    </Row>
    </Rowset>
    </Rowsets>
    Regards,
    Mike
    Edited by: Michael Appleby on Sep 20, 2011 1:29 PM

  • Web Service attachement is returned in response body

    Dears,
    I have the following problem:
    I created a web service that return attachement. When I tested the web service from SOAP UI utility, I found that the webservice return the attachement in both ways, as inline in the responce body and as an attachement to the responce but without adding the href to responce body.
    Please advise how I can add the href and remove the attachement from responce body.
    Regards,
    fadi

    Hi Surya,
    Would you let us know from where you are calling web service and for what?
    And if possible provide error log as screenshot or txt file. So that it will be easy to trace issue.
    For gland your issue, go through below posts
    Not able to execute MII Transaction as web service
    Error calling BLS Transaction as Web service
    Problem in generating wsdl ?
    Create MII transaction & MII Web Service and consume them in ABAP
    Regards,
    Praveen Reddy

  • BSL as a Web Service.  How to get the client Hostname?

    Hi group,
    Is it possible to read the calling client computer name from within a Transaction execution when called as a Web Service (HTTP GET)?
    Some function that would return the same as
    Request.ServerVariables["REMOTE_HOST"]
    or
    req.getRemoteHost();
    from an HTTP Web Server.
    Thanks,
    Francois.

    Thanks Doug,
    I followed your advice with a slight modification as the name of the parameter is Machine instead of IP.
    /XMII/PropertyAccessServlet?mode=Retrieve&PropName=Machine&Content-Type=text/xml
    I accessed this system parameter by using the string above as the URL of an XML Query action block from within my existing BSL transactions.  This aligns better with our current way of exposing the our MII transactions as Web Services.
    Using the XAcute query as proposed by Udayan also works but this would have meant exposing a new interface ( XAcute Query instead of the transaction default Web Service via the /Runner URL).
    Thank you both.

  • WebLogic 10.3.0, web-service enabled session beans, and CMT transactions

    Does WebLogic 10.3 support CMT for JAX-WS Web-Service enabled EJB 3.0 session beans?
    When a client invokes the following Web service:
    @WebService
    @Stateless
    @TransactionManagement( TransactionManagementType.CONTAINER )
    public class TestService       
        @WebMethod   
        @TransactionAttribute(TransactionAttributeType.REQUIRED)
        public String echo( @WebParam( name = "param" ) final String param)
            Context context = new InitialContext();
            TransactionSynchronizationRegisttry registry =
              (TransactionSynchronizationRegistry)
                context.lookup( "java:comp/TransactionSynchronizationRegistry" );
            registry.putResource("foo", "bar");
            return param;
    }WebLogic throws this exception:
    SEVERE: Transaction does not exist
    java.lang.IllegalStateException: Transaction does not exist
         at weblogic.transaction.internal.TransactionManagerImpl.putResource(TransactionManagerImpl.java:2033)
         at weblogic.transaction.internal.TransactionManagerImpl.putResource(TransactionManagerImpl.java:2029)Is this a bug in WL 10.3.0?
    Thanks in advance.
    Edited by: user572625 on Aug 18, 2011 12:29 AM

    This is fixed now. Someone had defined a Servlet for the web service in web.xml that was preventing the EJB container to kick in.
    Edited by: user572625 on Aug 25, 2011 11:54 PM

  • How to control transactions (WS-AT) between two web services in OSB?

    Could someone tell me if the OSB can have 2 diferents web services controlled by an unique transaction?
    For instance: in the OSB there are two wsdl, each one with its own Business Service and ProxyService respectively. In my vb.net aplication I started a transaction, called the first web service succefully and from the second web service I got an exception. I expected the first web service undo its work because the vb.net aplication excute a rollback command. Is this possible? How can I do? Any sample or tip will be helpfull.
    If I was developing without OSB, I would rely on WS-AT as shown in http://www.codeproject.com/Articles/38793/6-Steps-to-Enable-Transactions-in-WCF for two web services dot net, or for one web service dot net and other java, http://www.ibm.com/developerworks/websphere/library/techarticles/0707_lo/0707_lo.html.
    My question is basically: Is still possible to keep a single transaction between multiple web services when they are mediated by OSB? If so, is there a example showing how?

    Hi,
    When you create the proxy server, you have to check "Transaction required" box on Message Handling page...
    http://docs.oracle.com/cd/E17904_01/doc.1111/e15867/proxy_services.htm#i1316487
    Cheers,
    Vlad

  • Transactional Web Services?

    Is there any way to ensure that web services are transactional?
    We have a rich client passing soap calls through to an OC4J container. We are certain that session beans are transctional, since if an error occurs in the database, the entire transction is rolled back.
    However, if we pass the soap call through, and somehow a network connection is lost before the client receives the response from the server, we think because the transaction may be updating to the server, and since the client doesn't receive notification, it ends up thinking the transaction failed, and tries to send it again later. (thus failing later with a duplicate key) We're still trying to research this but so far this is what we suspect is happening.
    So my question is, are OC4J web services transactional? Or is a limitation due to the stateless nature of http?

    Jason,
    Currently oc4j web services are not transactional in a sense, that they don't provide any transaction context propagation mechanism between the client and the server, etc. There are different evolving standards in the web service space regarding support for distributed 2pc and long-running transactions, such as WS-Coordination/Transaction. As the standards/protocols mature, oc4j will provide corresponding support for them.
    Cheers,
    -lars

Maybe you are looking for

  • ITunes 10.6.3 Update Error

    I have been offered the iTunes 10.6.3 on my Windows computer but every time I press the "Download iTunes" button, nothing happens. I know that many other people have been having the same problem. Does anyone seem to have a solution to this problem? W

  • Quicktime Movies not streaming with iWeb

    Maybe I'm doing something wrong. When I created a movie using the Homepage feature in iLife05 the QT time movie starts playing immediately while it is downloading. See here: http://homepage.mac.com/scarbrd/iMovieTheater17.html I used iMovie in iLife0

  • Lesson 1  Video Using Timer.. about 6:17 into the Video

    So far I have completed all of the videos and exercises so far so good. But the very last example using the counter (implements CountListener). So I removed all the previous code and deletes the associated Java files from the previous exerces and had

  • OWSM Custom Policy Step: use of the setProcessingStage() method?

    Hello, When creating a Custom Policy Step for use in an OWSM pipeline the API provides the option to set the processing stage. Possible values are STAGE_PREREQUEST, STAGE_REQUEST, STAGE_RESPONSE and so on. Can anyone tell me the use of setting the pr

  • HT4623 What if the update stalls and it requires me to restore my ipad

    My ipad did not update and it says I need to restore the settings - What should I do I do not want to lose all of my data