Problems with OC4J Web services and Flex SOAPEncoder

Hello!
I got a problem trying to execute a web service running in
Oracle OC4j 10.1.3.3, and a client side with Flex3. I generated the
scripts for using the web service using Flex builder 3, but it's
not making a valid call to web service. I debugged the call
operation to the Flex SOAPEncoder which seems to generate an
invalid soap message. The SOAPEncoder generates the following
message;
<SOAP-ENV:Envelope xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/"
xmlns="
http://www.w3.org/2001/XMLSchema"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<tns:getDocuments xmlns:tns="
http://modultek.atonpdm.document/">
<tns:getDocuments>
<tns:String_1>service manual</tns:String_1>
</tns:getDocuments>
</tns:getDocuments>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Where the correct working soap message should be;
<SOAP-ENV:Envelope xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/"
xmlns="
http://www.w3.org/2001/XMLSchema"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<tns:getDocuments xmlns:tns="
http://modultek.atonpdm.document/">
<tns:String_1>service manaual</tns:String_1>
</tns:getDocuments>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Problem in the first message is that Flex SOAPEncoder
generates an extra <tns:getDocuments> child tag, and Oracle
app server can't handle it.
Has someone any idea why SOAPEncoder is generating the extra
operation tag, and is this behaviour configurable somehow or is the
soapencoder broken?
The wsdl is included in the following;
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions xmlns="
http://schemas.xmlsoap.org/wsdl/"
xmlns:soap12="
http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
xmlns:mime="
http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tns="
http://modultek.atonpdm.document/"
name="DocumentOperationsService" targetNamespace="
http://modultek.atonpdm.document/">
- <types>
- <schema xmlns="
http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:soap11-enc="
http://schemas.xmlsoap.org/soap/encoding/"
targetNamespace="
http://modultek.atonpdm.document/"
elementFormDefault="qualified">
- <complexType name="SimpleDocumentDM">
- <sequence>
<element name="docGroupDesc" type="string"
nillable="true" />
<element name="docRev" type="string" nillable="true"
/>
<element name="docId" type="string" nillable="true" />
<element name="docGroup" type="string" nillable="true"
/>
<element name="docDesc1" type="string" nillable="true"
/>
<element name="docDesc2" type="string" nillable="true"
/>
<element name="docCode" type="string" nillable="true"
/>
<element name="docDesc3" type="string" nillable="true"
/>
<element name="docDesc4" type="string" nillable="true"
/>
</sequence>
</complexType>
<element name="getDocuments" type="tns:getDocuments"
/>
- <complexType name="getDocuments">
- <sequence>
<element name="String_1" type="string" nillable="true"
/>
</sequence>
</complexType>
<element name="getDocumentsResponse"
type="tns:getDocumentsResponse" />
- <complexType name="getDocumentsResponse">
- <sequence>
<element name="return"
type="tns:CollectionOfSimpleDocumentDM" nillable="true" />
</sequence>
</complexType>
- <complexType name="CollectionOfSimpleDocumentDM">
- <sequence>
<element name="item" type="tns:SimpleDocumentDM"
minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
<element name="getSimpleDocumentInformation"
type="tns:getSimpleDocumentInformation" />
- <complexType name="getSimpleDocumentInformation">
- <sequence>
<element name="String_1" type="string" nillable="true"
/>
</sequence>
</complexType>
<element name="getSimpleDocumentInformationResponse"
type="tns:getSimpleDocumentInformationResponse" />
- <complexType
name="getSimpleDocumentInformationResponse">
- <sequence>
<element name="return" type="tns:SimpleDocumentDM"
nillable="true" />
</sequence>
</complexType>
</schema>
</types>
- <message name="DocumentOperations_getDocuments">
<part name="parameters" element="tns:getDocuments" />
</message>
- <message
name="DocumentOperations_getDocumentsResponse">
<part name="parameters"
element="tns:getDocumentsResponse" />
</message>
- <message
name="DocumentOperations_getSimpleDocumentInformation">
<part name="parameters"
element="tns:getSimpleDocumentInformation" />
</message>
- <message
name="DocumentOperations_getSimpleDocumentInformationResponse">
<part name="parameters"
element="tns:getSimpleDocumentInformationResponse" />
</message>
- <portType name="DocumentOperations">
- <operation name="getDocuments">
<input message="tns:DocumentOperations_getDocuments"
/>
<output
message="tns:DocumentOperations_getDocumentsResponse" />
</operation>
- <operation name="getSimpleDocumentInformation">
<input
message="tns:DocumentOperations_getSimpleDocumentInformation" />
<output
message="tns:DocumentOperations_getSimpleDocumentInformationResponse"
/>
</operation>
</portType>
- <binding name="DocumentOperationsSoapHttp"
type="tns:DocumentOperations">
<soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"
/>
- <operation name="getDocuments">
<soap:operation soapAction="" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
- <operation name="getSimpleDocumentInformation">
<soap:operation soapAction="" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="DocumentOperationsService">
- <port name="DocumentOperationsBean"
binding="tns:DocumentOperationsSoapHttp">
<soap:address location="
http://procyon:8888/atonpdm/DocumentOperationsBean"
/>
</port>
</service>
</definitions>
Best regards, Janne

I am having the exact same problem. The SOAPEncoder is adding
an additional tag and the server thinks the envelope is not
properly formatted and therefore does not know what to do with it.
Is there any fix for this yet? Or has it even been reported as a
bug?

Similar Messages

  • Problem with MDM web services and webdynpro

    Hi MDMguru,
    I have created web services from SDN example: it reads the MDM version.
    If I use J2ee Navigator Web Services and I try  mywebservices, it works very well.
    I have created a webdynpro (from this SDN Example https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/creating%20an%20email-client%20using%20web%20dynpro%20and%20web%20services.pdf).
    I have followed step by step the example.
    But when run webdynpro and it calls my webservices it not works because it throws this exception:
    javax.xml.rpc.soap.SOAPFaultException: Exception in method getVersion. , Debug ,  , com.enel.sap.ws.component.WSComponent.VersionMDM , sap.com/tcwddispwda , J2EE_GUEST
    Can someone help me?

    It appears that %ROWTPYE is not supported directly, and that we need to create a TYPE to wrap the return data
    Thanks to Marc Thompson for the details (http://marc-on-oracle.blogspot.co.uk/2007/12/11g-database-installation-and-native.html)
    PD

  • Problem with consuming web services in Flex

    So i'm trying to set up a basic flex application to consume a
    web service (POJO exposed with axis2). Here's the WSDL:
    <wsdl:definitions xmlns:wsdl="
    http://schemas.xmlsoap.org/wsdl/"
    xmlns:axis2="
    http://ws.apache.org/axis2"
    xmlns:mime="
    http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:http="
    http://schemas.xmlsoap.org/wsdl/http/"
    xmlns:ns0="
    http://webservices.emailcenter.pas/xsd"
    xmlns:soap12="
    http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:ns1="
    http://org.apache.axis2/xsd"
    xmlns:xs="
    http://www.w3.org/2001/XMLSchema"
    xmlns:soap="
    http://schemas.xmlsoap.org/wsdl/soap/"
    targetNamespace="
    http://ws.apache.org/axis2">
    <wsdl:types>
    <xs:schema xmlns:ns="
    http://webservices.emailcenter.pas/xsd"
    targetNamespace="
    http://webservices.emailcenter.pas/xsd"
    elementFormDefault="unqualified"
    attributeFormDefault="unqualified">
    <xs:element name="getTime">
    <xs:complexType />
    </xs:element>
    <xs:element name="getTimeResponse">
    <xs:complexType>
    <xs:sequence>
    <xs:element type="xs:string" name="return" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    </wsdl:types>
    <wsdl:message name="getTimeMessage">
    <wsdl:part element="ns0:getTime" name="part1" />
    </wsdl:message>
    <wsdl:message name="getTimeResponse">
    <wsdl:part element="ns0:getTimeResponse" name="part1"
    />
    </wsdl:message>
    <wsdl:portType name="SimpleServicePortType">
    <wsdl:operation name="getTime">
    <wsdl:input message="axis2:getTimeMessage" />
    <wsdl:output message="axis2:getTimeResponse" />
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding type="axis2:SimpleServicePortType"
    name="SimpleServiceSOAP11Binding">
    <soap:binding style="document" transport="
    http://schemas.xmlsoap.org/soap/http"
    />
    <wsdl:operation name="getTime">
    <soap:operation style="document" soapAction="urn:getTime"
    />
    <wsdl:input>
    <soap:body namespace="
    http://ws.apache.org/axis2"
    use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap:body namespace="
    http://ws.apache.org/axis2"
    use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding type="axis2:SimpleServicePortType"
    name="SimpleServiceSOAP12Binding">
    <soap12:binding style="document" transport="
    http://schemas.xmlsoap.org/soap/http"
    />
    <wsdl:operation name="getTime">
    <soap12:operation style="document"
    soapAction="urn:getTime" />
    <wsdl:input>
    <soap12:body namespace="
    http://ws.apache.org/axis2"
    use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body namespace="
    http://ws.apache.org/axis2"
    use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding type="axis2:SimpleServicePortType"
    name="SimpleServiceHttpBinding">
    <http:binding verb="POST" />
    <wsdl:operation name="getTime">
    <http:operation location="getTime" />
    <wsdl:input>
    <mime:content type="text/xml" />
    </wsdl:input>
    <wsdl:output>
    <mime:content type="text/xml" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="SimpleService">
    <wsdl:port binding="axis2:SimpleServiceSOAP11Binding"
    name="SimpleServiceSOAP11port0">
    <soap:address location="
    http://10.1.1.149:8080/axis2/services/SimpleService"
    />
    </wsdl:port>
    <wsdl:port binding="axis2:SimpleServiceSOAP12Binding"
    name="SimpleServiceSOAP12port0">
    <soap12:address location="
    http://10.1.1.149:8080/axis2/services/SimpleService"
    />
    </wsdl:port>
    <wsdl:port binding="axis2:SimpleServiceHttpBinding"
    name="SimpleServiceHttpport0">
    <http:address location="
    http://10.1.1.149:8080/axis2/rest/SimpleService"
    />
    </wsdl:port>
    </wsdl:service>
    the code for my application is very simple and
    straightforward:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute" creationComplete="ss.getTime()">
    <mx:WebService id="ss" wsdl="
    http://10.1.1.149:8080/EmailCenter/services/SimpleService?wsdl">
    <mx:operation name="getTime"/>
    </mx:WebService>
    <mx:DataGrid
    dataProvider="{ss.getTime.lastResult}"></mx:DataGrid>
    </mx:Application>
    when I try to consume this in my flex application I keep
    getting the following error:
    [RPC Fault faultString="Required parameter 'getTime' not
    found in input arguments." faultCode="Client.Input"
    faultDetail="null"]
    at
    mx.rpc.soap::Operation/mx.rpc.soap:Operation::createFaultEvent()
    at mx.rpc.soap::Operation/
    http://www.adobe.com/2006/flex/mx/internal::invokePendingCall()
    at mx.rpc.soap::Operation/
    http://www.adobe.com/2006/flex/mx/internal::invokeAllPending()
    at mx.rpc.soap::WebService/::unEnqueueCalls()
    at mx.rpc.soap::WebService/
    http://www.adobe.com/2006/flex/mx/internal::wsdlHandler()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.rpc.soap::WSDLParser/dispatchEvent()
    at mx.rpc.soap::WSDLParser/::parseCompleted()
    at mx.rpc.soap::WSDLParser/
    http://www.adobe.com/2006/flex/mx/internal::httpResultHandler()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.rpc::AbstractInvoker/
    http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()
    at mx.rpc::AbstractInvoker/
    http://www.adobe.com/2006/flex/mx/internal::resultHandler()
    at mx.rpc::Responder/result()
    at mx.rpc::AsyncRequest/acknowledge()
    at ::DirectHTTPMessageResponder/completeHandler()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/flash.net:URLLoader::onComplete()
    Any advice anyone could give would be wonderful. I'm pretty
    new at this flex stuff but I feel like the problem may be with my
    WSDL?

    perhaps you missed this step:
    --> Modify the code and add Credentials before calling the web method:
    Public
    SubMain()
    Dim
    ws As NewService1
    ws.Credentials =
    New System.Net.NetworkCredential("user name",
    "password",
    "domain name")
    MsgBox("Square
    of 2 = "& ws.Square(2))
    Dts.TaskResult = Dts.Results.Success
    End
    Sub
    Arthur
    MyBlog
    Twitter

  • Problem with Native Web Services and %ROWTYPE

    Hi,
    I have a simple stand-alone function which takes a varchar2 IN argument, uses the IN argument to retrieve data from a single table, and returns the data as TableName%rowtype.
    Accessing the generated WSDL from a browser using http://host:port/orawsv/FUNCTION?wsdl results in the following :
    <?xml version="1.0" ?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <soap:Fault>
    <faultcode>soap:Client</faultcode>
    <faultstring>Error processing input</faultstring>
    <detail>
    <OracleErrors xmlns="http://xmlns.oracle.com/orawsv/faults">
    </OracleErrors>
    </detail>
    </soap:Fault>
    </soap:Body>
    </soap:Envelope>
    I can see a successfully generated WSDL for a similar function which returns XMLType
    Is %rowtype supported as a return argument ?
    And on a related note, is ref cursor supported as a return argument in a stored procedure ?
    Thanks,
    Pete
    PS - version details as follows ...
    "BANNER"
    "Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production"
    "PL/SQL Release 11.2.0.1.0 - Production"
    "CORE     11.2.0.1.0     Production"
    "TNS for Linux: Version 11.2.0.1.0 - Production"
    "NLSRTL Version 11.2.0.1.0 - Production"
    Edited by: user13046122 on 31-Aug-2012 01:48

    It appears that %ROWTPYE is not supported directly, and that we need to create a TYPE to wrap the return data
    Thanks to Marc Thompson for the details (http://marc-on-oracle.blogspot.co.uk/2007/12/11g-database-installation-and-native.html)
    PD

  • Problem with Oracle Web Service Proxies reusing classes and exceptions

    We have an application that have many web services and we're having a really hard time working with Oracle Web Service Proxy. We have many web services that share the same classes for parameters and exceptions. When we generate de proxy classes, it generates a lot of _LiteralSerializer classes. Because I'm reusing the same classes and exceptions it generates the same _LiteralSerializer classes for this classes and they get replaced. For Example
    I have classes A and B and Web Services X and Y that use this classes. When I generate the 2 proxies it generates A_LiteralSerializer and B_LiteralSerializer on the 2 proxies and they get replaced and I get "No serlalizers for A class or B class". This problems repeats a lot of times and this problem is a huge risk for our project. We're using JDeveloper 10.1.3.4.
    Is there a way to avoid this with Oracle Web Service Proxies?
    Regards,
    Néstor

    Resolved when I create a deployement profile explicitly.
    The Webservice.deploy that gets created automatically when I create a web service was giving this issue.
    Thanks
    Saikrishna

  • Problem with CFMX web service function return

    I made a post yesterday about a web service function I was
    writing, as it turns out my post was extremly incorrect for my
    problem. With this web service function I can return an array just
    fine, I can return one instance of an object just fine, however,
    when I try to return an array of the object I keep getting the
    error:
    Could not perform web service invocation "SelectGames"
    because AxisFault faultCode: {
    http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
    faultSubcode: faultString: [org.apache.axis.AxisFault : ; nested
    exception is: coldfusion.xml.rpc.CFCInvocationException:
    [java.lang.IncompatibleClassChangeError : Dependent CFC type(s)
    have been modified. Please refresh your web service client.]];
    nested exception is: coldfusion.xml.rpc.CFCInvocationException:
    [org.apache.axis.AxisFault : ; nested exception is:
    coldfusion.xml.rpc.CFCInvocationException:
    [java.lang.IncompatibleClassChangeError : Dependent CFC type(s)
    have been modified. Please refresh your web service client.]]
    faultActor: faultNode: faultDetail: {
    http://xml.apache.org/axis/}stackTrace:
    AxisFault faultCode: {
    http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
    faultSubcode: faultString: [org.apache.axis.AxisFault : ; nested
    exception is: coldfusion.xml.rpc.CFCInvocationException:
    [java.lang.IncompatibleClassChangeError : Dependent CFC type(s)
    have been modifie..
    which basically means that the CF server needs restarted.
    However if I restart the CF server, no matter how many times I am
    still getting this error. If I change up my web service function to
    return just a normal array of integers or strings, or I change it
    to return one instance of the arbritrary complex type it all works
    just fine. I am still a little new on this subject and any
    enlightenment would be great. If anyone has found a way around this
    please let me know.
    Here is my complex type:
    <cfcomponent>
    <cfproperty name="Game_id" type="numeric">
    <cfproperty name="gameDate" type="date">
    <cfproperty name="Starttime" type="string">
    <cfproperty name="Place" type="string">
    <cfproperty name="Level" type="string">
    <cfproperty name="Sport" type="string">
    <cfproperty name="Gender" type="string">
    <cfproperty name="Opponent" type="string">
    <cfproperty name="Type" type="string">
    <cfproperty name="Link" type="string">
    </cfcomponent>
    I loop trhough a query and set a cfobject of the types above,
    then I append that object to an array and try t o return the array.
    Here is the basics of the loop:
    <cfset theArray = arrayNew(1)>
    <cfobject component = "games" name = "test>
    <cfloop query ...>
    <!--- set values to test ---->
    <cfset arrayApend(theArray, test)>
    </cfquery>
    <cfreturn theArray>
    my return type is array, I think the problem is I need to
    specify the return type to be an array of arbritray complex types
    which is impossible to do in CF. Anyone find a way to get around
    this?? Any feed back at all would be greatly appreciated.

    Yes, I have tried it and return type any does not work in
    this situation since this function is being consumed by a web
    service. It needs to be in the form of an array of arbritrary type
    that is defined in a cfc file. Since this is WSDL the returntype
    has to be specified to every last bit.

  • Basic auth with RESTful WEb service and Web Service reference

    Hi, All,
    We have made much progress on getting an application working wtih RESTful web services but now are trying to figure out how to lock down a RESTful Web service while making it available for a particular application.
    We are using one of the sample 'emp' table web services that come with Apex 4.2 and are trying to apply Basic Auth to the WEb Service via Weblogic filter defined in the web.xml file. That works fine. I now get challenged when I try to go to :
    https://wlogic.edu/apex/bnr/ace/hr/empinfo/
    And when I authenticate to that challenge I am able to get the data. (we are usiing LDAP authentication at the Weblogic level)
    However, I am not sure how to get same basic authentication to work with the Web Service reference in my application. I see the error message in the application when I try to call that Web Service:
    401--Unauthorized<
    And I see:
    "The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.46) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials"
    How do I provide the credentials in the Web REference or do I provide credentials in the Application?
    Web service works fine if I remove the RESTful web service basic auth from the Web.xml file.
    Should we NOT use Weblogic basic auth and instead use basic auth from Workspace RESTful web service definition. If so, how do we implement THAT basic auth in the Web Service definition and in the Web SErvice Reference on the application?
    Thanks,
    Pat

    What I mean is diid you try to use the PL/SQL package for APEX webservice. Here is an example I use (modified and shortened, just to show how much better this is than to use it from the application).
    CREATE OR REPLACE PACKAGE webservice_pkg
    IS
       PROCEDURE create_webservice (
          p_id            IN       NUMBER,
          p_message       OUT      VARCHAR2,
          p_workspace     IN       VARCHAR2 DEFAULT 'MY_WORKSPACE',
          p_app_id        IN       NUMBER DEFAULT v ('APP_ID'),
          p_app_session   IN       VARCHAR2 DEFAULT v ('SESSION'),
          p_app_user      IN       VARCHAR2 DEFAULT v ('APP_USER')
    END webservice_pkg;
    CREATE OR REPLACE PACKAGE BODY webservice_pkg
    IS
       PROCEDURE set_credentials (
          p_workspace     IN   VARCHAR2,
          p_app_id        IN   NUMBER,
          p_app_session   IN   VARCHAR2,
          p_app_user      IN   VARCHAR2
       IS
          v_workspace_id   NUMBER;
       BEGIN
          SELECT workspace_id
            INTO v_workspace_id
            FROM apex_workspaces
           WHERE workspace = p_workspace;
          apex_util.set_security_group_id (v_workspace_id);
          apex_application.g_flow_id := p_app_id;
          apex_application.g_instance := p_app_session;
          apex_application.g_user := p_app_user;
       END set_credentials;
       PROCEDURE create_webservice (
          p_id            IN       NUMBER,
          p_message       OUT      VARCHAR2,
          p_workspace     IN       VARCHAR2 DEFAULT 'MY_WORKSPACE',
          p_app_id        IN       NUMBER DEFAULT v ('APP_ID'),
          p_app_session   IN       VARCHAR2 DEFAULT v ('SESSION'),
          p_app_user      IN       VARCHAR2 DEFAULT v ('APP_USER')
       IS
          v_envelope          VARCHAR2 (32000);
          v_server            VARCHAR2 (400);
          v_url               VARCHAR2 (4000);
          v_result_url        VARCHAR2 (1000);
          v_collection_name   VARCHAR2 (40)    := 'PDF_CARD';
          v_message           VARCHAR2 (4000);
          v_xmltype001        XMLTYPE;
       BEGIN
          v_url := v_server || '.myserver.net/services/VisitCardCreator?wsdl';
          FOR c IN (SELECT *
                      FROM DUAL)
          LOOP
             v_envelope :=
                   '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" '
                || 'xmlns:bran="http://www.myaddress.com">'
                || CHR (10)
                || '<soapenv:Header/><soapenv:Body>'
                || CHR (10)
                || '<parameter:'
                || 'some_value'
                || '>'
                || CHR (10)
                || '<bran:templateID>'
                || p_id
                || '</bran:templateID>'
                || '</soapenv:Body>'
                || CHR (10)
                || '</soapenv:Envelope>';
          END LOOP;
          set_credentials (p_workspace, p_app_id, p_app_session, p_app_user);
          BEGIN
             apex_web_service.make_request
                                         (p_url                  => v_url,
                                          p_collection_name      => v_collection_name,
                                          p_envelope             => v_envelope
             p_message := 'Some message.';
          EXCEPTION
             WHEN OTHERS
             THEN
                v_message :=
                      v_message
                   || '</br>'
                   || 'Error running Webservice Request. '
                   || SQLERRM;
          END;
          BEGIN
             SELECT    v_result_url
                    || EXTRACTVALUE (VALUE (t),
                                     '/*/' || 'Return',
                                     'xmlns="http://www.myaddress.com"'
                    xmltype001
               INTO v_result_url,
                    v_xmltype001
               FROM wwv_flow_collections c,
                    TABLE
                        (XMLSEQUENCE (EXTRACT (c.xmltype001,
                                               '//' || 'Response',
                                               'xmlns="http://www.myaddress.com"'
                        ) t
              WHERE c.collection_name = v_collection_name;
          EXCEPTION
             WHEN OTHERS
             THEN
                v_message := v_message || '</br>' || 'Error reading Collection.';
          END;
       EXCEPTION
          WHEN OTHERS
          THEN
             p_message := v_message || '</br>' || SQLERRM;
       END create_webservice;
    END webservice_pkg;
    /If you use it this way, you will find out what the problem is much faster.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • Problem with OBIEE Web Service getHTMLForReport() Method

    Hello, I´m trying to develop an example using the OBIEE Web Services and I have a problem with the method “getHTMLForReport(String pageID,String pageReportID,String sessionID)” (http://download.oracle.com/docs/cd/E12103_01/books/AnyWebServ/AnyWebServ_Methods8.html).
    The problem is the next one: In the pageReportID parameter should contain a character string ID returned by the addReportToPage() method, but the addReportToPageMethod is a void method. (http://download.oracle.com/docs/cd/E12103_01/books/AnyWebServ/AnyWebServ_Methods4.html#wp1008810)
    Which is the value of the pageReportID parameter?
    Thank you.

    Yes, there seems to be a bug in the oracle documentation. Basically, the second parameter of the addReportToPage() method is a free text. You can put "report101" as value of second parameter. Then you have to use the same string in the getHTMLForReport()method.
    For example ..
    addReportToPage(pageId, "report2", reportRef, "Jaggi Di Report", null, null, sessionID);
    getHtmlForReport(pageId, "report2", sessionID);
    Regards
    Jagdeep Singh

  • What is problem with my web services application?

    Hi Everyone, I have a question for you.
    I created a web service, and tried to call its method within a JSF application (developed by JSC2). Following is what I got:
    1) It works with TravelWS example.
    2) It works if I called my web services' methods from a standalone Java program.
    3) It does NOT work if I call it within my JSF applicationBean1() or JSP pages.
    4) After adding my own web services into my JSF through JSC IDE, I tested my methods provided by web services. Two of them are working. But rest of them do not.
    If it is the problem of my web service, why my standalone Java program works?
    If it is the problem of my JSF application configuration, why TravelWS example works?
    What can the problem be? Can someone give me some suggestions?
    Any help is appreciated.

    Thanks both of you for the response.
    Here is my situation. The web service is developed by another team. And we are trying to call their methods in our JSF application. From the example provided by the web service team, I need to do following in my JSF code:
    myWebServiceLocator locator = new myWebServiceLocator();
    locator.setMyWebServiceSoapEndpointAddress( "http://mywebserviceurl./axis/services/myWebServiceSoap" );
    locator.setMaintainSession( true );
    this.myWebService = locator.getMyWebServiceSoap();
    The problem is that the locator above extends org.apache.axis.client.Service, however, the JSF generated client creates a javax.xml.rpc.Service object. I guess this might cause my problem.
    How to solve this?

  • Problem with a  web service with Jbuilder 2005 and Weblogic 8.1

    Hi,
    i�m trying to create a web-service using Jbuilder 2005 Enterprise and Weblogic 8.1. It is a very simple web-service, come kinda "Hello World".
    In the last step, after deploying my "ApplicatioModule1", i get this error:
    "Unable to connect to server t3://localhost:7001 as user weblogic.
    Reason: javax.naming.CommunicationException. Root exception is java.net.ConnectException: t3://localhost:7001: Destination unreachable; nested exception is:
         java.net.ConnectException: Connection refused: connect; No available router to destination
         at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:199)
         at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:125)
         at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:291)
         at weblogic.jndi.Environment.getContext(Environment.java:164)
         at weblogic.jndi.Environment.getInitialContext(Environment.java:143)
         at weblogic.management.deploy.utils.MBeanHomeTool.getMBeanHome(MBeanHomeTool.java:157)
         at weblogic.Deployer.runBody(Deployer.java:555)
         at weblogic.utils.compiler.Tool.run(Tool.java:146)
         at weblogic.utils.compiler.Tool.run(Tool.java:103)
         at weblogic.Deployer.main(Deployer.java:399)
    Check option -adminurl, -username and -password. "
    I dont know why i get this error. I think the weblogic server is properly configured and running.
    Anybody can help me?? Thx.

    i have found the solution to the problem myself. I only had to execute this command file startWebLogic.cmd which is placed in this default installation directory C:\bea\user_projects\domains\mydomain in order to put the server listening to ports.
    i hope anybody with the same problem could fix it by reading this post.

  • Exception Handling with OC4J Web Services

    Hi,
    I want to throw some custom exceptions from my web services, based upon my business logic. From the documents I came to know that I can use "javax.xml.rpc.soap.SOAPFaultException" for the same. Following is the sample web service code which I'm trying in my environment.
    import javax.ejb.Stateless;
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.soap.SOAPFaultException;
    @WebService
    @Stateless
    public class TestService {
         @WebMethod
         public void greeting()
              throw new SOAPFaultException(new QName("uri", "local"),
         "My Fault String", "My Fault Actor", null);
    Deployment of the web service goes fine and on the invocation of the "greeting" operation the exception is being thrown. But the problem is that, the soap response, which my web service client receives is as of follows,
    <env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns0="http://service.csm.nb.md.inglife.jp.co/">
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Internal Server Error (Caught exception while handling request: oracle.oc4j.rmi.OracleRemoteException: javax.xml.rpc.soap.SOAPFaultException: My Fault String; nested exception is: javax.xml.rpc.soap.SOAPFaultException: My Fault String)</faultstring>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    This means that OC4J again wraps the SOAPFaultException thrown by me. Is there any way by which I can avoid the further wrapping of my exceptions? If there is anything wrong in my approach please do let me know.
    Regards,
    Dipu

    This is one of the "classic" design problems in this kind of architecture. And, unfortunately, the answer is "it depends on how you think you need to handle it." And I'm sure there are plenty of "gurus" that will tell you one way or another is the only way to do it.
    I'll be more honest: I'll give you a couple of personal suggestions, based on experience in this architecture. These are suggestions - you may do with them what you will. I will not say this is the best, most correct, or even remotely relevant to what you're doing.
    If it's simple data validation for "typing" (e.g. String, number, Date, etc.), that is taken care of when you attempt to stuff in the information into the appropriate DTO. If it's more "sophisticated" than that (must be in a certain range, etc.), that particular checking should probably be delegated from your Controller to a helper class. That not only saves the "expense" of transmitting the information back and forth across the wire, it's "faster" to the end user so say "Ooopsie" by redirecting back to the form right then. Basically the same thing if the types are wrong.
    That only leaves the "big" problems in the business layer (EJBs), where you have to deal with concurrency, database failures, etc. Generally these kinds of exceptions are thrown back to to the Controller in one of two forms:
    1) a sublass of RuntimeException, which signals that some Very Bad Things have happened in your container. EJBException is one like that and you can see where it's being thrown from.
    2) a subclass of Exception, also called "application exceptions." They are usually something like a "duplicate record" or a validation-like error (which you mentioned) like a missing field. They're used as a signal to a failure in the logic, not the container. That way you have to decide at what layer of your architecture they should be handled and/or passed on to the next.

  • Problems with building web services - tutorial doesn't work

    I've been going through this tutorial from technet.oracle.com -
    trying to deploy the example stateless session bean service.
    First problem comes when running the deploy command -
    java -jar <j2ee_home>/admin.jar ormi://<host> <uid> <pwd> -deploy -file ejbws.ear -deploymentName ejbws.
    This command fails insisting that it can't find application.xml (even though it is clearly in the .ear file).
    Got around this by manually editing the server.xml file and bouncing OC4J. Then did the bind command. The first steps of compiling and running the client application then worked fine - I could see the .wsdl file and download the proxy jar.
    But when I came to actually run the client I got the error:
    Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsu
    pported response content type "text/html", must be: "text/xml". Response was:
    <HTML><HEAD><TITLE>500 Internal Server Error</TITLE></HEAD><BODY><H1>500 Internal Server Error</H1><PRE>oracle.j2ee.xanadu.JasperGenerationError: no source generated during code generation!: error: I/O error in UrlBridge to: file:E:\ORACLE\j2ee\home\application-deployments\ejbws\ejbws\temp\__session_bean_rpc\Hello.class.<br>binary class definition not found: Hello
    By manually copying the Hello.class file into the __session_bean_rpc directory I was able to get the example to run.
    But how do I get it do deploy correctly in the first place????
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

    I ran into the EXACT same problem described by Tracy, and I assembled my .ear file manually.
    According the error message, it would appear that the server is looking for the EJB remote interface in the ../temp/__session_bean_rpc directory when it is trying to generate its session bean wrapper class. As Tracy notes, when the file Hello.class is copied into the directory, the problem goes away. Furthermore, once the wrapper class has been generated, Hello.class is no longer needed and can be deleted from the directory.
    Better still, I found a way to deploy the web services web module and make the error go away. I created the ejbws.war file with a copy of the remote interface Hello.class in the WEB-INF/classes directory. This makes the class available when the wrapper class is generated.
    The WebServicesAssembler tool doesn't copy the EJB remote interfaces into the .war web module, which would appear to be
    necessary.
    Hope this helps.

  • Problem with a Web Service execution of a Matlab converted program

    Hello,
    I need my Java Web service to call a program developed in Matlab. I've created a C++ shared library from my test.m file using the cpplib wrapper, with the following command: mcc -W cpplib:libtest -T link:lib test.m
    I've then created another file which I called another.cpp to use the shared library. I've done so using the following two commands:
    g++ -c -I/usr/local/matlab/extern/include -I. another.cpp
    g++ -O -o another another.o -L. -ltest
    Until this point, everything is ok and I've obtained my compiled file "another". However, when I try to execute the file, the system requests for some shared libraries, which should be pointed out through the LD_LIBRARY_PATH environment variable. Everything works fine changing the variable in the shell. I can execute "another" without any problem. The problem arises when I try to execute the file through my Web Service. I started by developing a script which would export the LD_LIBRARY_PATH and execute "another". The idea was to have the Web Service call the script, but it didn't work. I've tried to solve the LD_LIBRARY_PATH problem by using the following command:
    g++ -O -L. -o another another.o -Wl,-rpath=/usr/local/matlab/bin/glnx86 -Wl,-rpath=/usr/local/matlab/sys/os/glnx86,-rpath=. -ltest
    This allows me to have an executable "another" with no other shared library needs... However, whenever I compile my "another" with "-Wl...", my Web service just does not execute the file. The problem still remains! Just to be sure, I have executed successfully other c++, using the same compiler, or scripts files from my Web service. But for Matlab programs, I need to use the libraries I referred above in "-Wl".
    I've been with this problem for quite a while now, and I still haven't found a way of solving it. Can anyone help me?
    Thank you,

    Resolved when I create a deployement profile explicitly.
    The Webservice.deploy that gets created automatically when I create a web service was giving this issue.
    Thanks
    Saikrishna

  • Problem with enabling Web Services on LaserJet Pro MFP M127fw

    12:25 AM    
    I have a problem with enabling the HP Web Services. When I push the application button on the printer, the monitor shows "connecting..." and then nothing is happen or an error apear thet my device could not connect to servers. I can't print information sheet on web services panel to get the claim code and add my device in www.hpconnected.com .  My device is connected to the internet with no problem by a wireless  Dlink Router. I also changed my device IP  from 192.168.1.11 to 192.168.1.55 manually,  and I change Preferred DNS Address to 8.8.8.8 and Alternate DNS Address to 8.8.4.4 and nothings happen.   I can see the menu but I can not enable the HP Web Services in there. no proxy. no firewall.  I do not know what can I do for solveing this problem. Please help me. 

    Hi @AlirezaP
    Welcome to the HP Support Forums. I gather that you are getting a connection error message when trying to enable the web services for your Laserjet Pro M172fw printer.
    As you have already tried setting the manual IP address and manual DNS servers, please call HP’s Cloud Services at 1-855-785-2777 if you live in the USA/Canada region. If you live outside the USA/Canada region please click here to find the Technical Support number for your country/region.
    Regards,
    Happytohelp01
    Please click on the Thumbs Up on the right to say “Thanks” for helping!
    Please click “Accept as Solution ” on the post that solves your issue to help others find the solution.
    I work on behalf of HP

  • Problem with ABAP Web service

    Hello Experts,
    Some unusual thing is happening.
    Till this time my scenario was HTTP to RFC. So i have imported RFC in XI and its structure was perfact.
    Tables having cardinality as 1...1, and fields were having cardinalities as 0....1.
    Now we have planned to switch to the proxies and ABAP Web services. I have created the ABAP Web service with the same function module and imported it into the External definations.
    When i am trying to use it into the mapping, Table cardinalities are 1....1 and fields are also having cardinalities as 1...1.
    Now because of that i hv to map all the fields with some constants, but m not comfortable with it as there are nearly 1000 fields.
    Do anyone of you have any idea what might be the problem? or how can i solve it.
    Hope the question is clear.
    Please help in this problem.
    Thanks,
    Hetal

    Hello Hetal,
    This is happening because when you genarte the Webservice out of a Function Module, all the fields in your are mendatory in the generated WSDL.
    This can be avoided. The WSDL that you have generated for your webservice, can be manually edited in Stylus studio etc to change the cardinality and make it optional. We also did the same in one of our scenario and it is working fine.
    As you are mapping these fields with constants, so it doen't make a difference if those are optional too.
    Just edit the WSDL/xsd and reimport it.
    Thanks
    -Kulwant

Maybe you are looking for

  • Since upgrading to 10.8 my iMac can't see video files to copy across in Finder when connecting my AVCHD camcorder via USB

    Hi, I usually connect my Panasonic AVCHD Camcorder via USB to copy the .MTS files across to my iMac for editing. Since upgrading to Mountain Lion, Finder sees the directories for photos stored on the Camcorder but not the video directories/files. I c

  • Report a problem

    I have purchased the fax service from Fax App many time, normally I always was charged $0.99 per transaction but in the last 3 transaction how come I was charged double transactions and the last order which is "Order ID: MJ5DGJ092T" it was not succes

  • AS3 newbe target my_mc question

    Good day to all of you. I have a basic question. I have movC_mc inside movB_mc inside movA_mc AS2 to access movC_mc from the my Actions layer in frame 1 in the root would be      movA_mc.movB_mc.movC_mc My question is how can I target the movA_mc fro

  • Favicons in Bookmark Bar

    Hey guys, I really love Safari, and I feel it is a superior browser to Firefox (the other browser I use daily), but for it to become my main browser, I would really like to have favicons show up in the bookmark bar, instead of just text. I'm sure you

  • Server behavior question.

    I'm new to all this and hope this will be easy for you experienced guys.  Perhaps I don't have dreamweaver cs5 configured correctly... ...attaching a query string to a new page...   in one of the tutitorials... I get this when I tell dreamweaver to d