Generating wsdl:fault with Oracle Web Services

What conditions are required to have Oracle Web Services throw a defined wsdl:fault over a soap:fault? Is there documentation on how to map these correctly from your java code? I can't seem to find anything in the documenation that discusses this and when using the WebServiceAssembler to generate WSDLs including an exception in a method signature does nothing to generate a wsdl section in the generated portType.
Any pointers are appreciated.

Hi,
If a method throws Exceptions that are not instances / subclasses of java.rmi.RemoteException, then it's not a SOAP Fault, but a wsdl:fault. This is the manner in which JAX-RPC handles the Exceptions.
Regards,
Sandeep

Similar Messages

  • 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

  • Securing MIME WS with Oracle Web Services Manager

    I try to secure a simple WS with receives and returns MIME attachment(picture).
    WSDL:
    <definitions
    name="MIMEWS"
    targetNamespace="http://MIMEWS"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://MIMEWS"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:types="http://MIMEWS/types"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    >
    <message name="getPhotoRequest">
    <part name="photo" type="xsd:hexBinary"/>
    </message>
    <message name="getPhotoResponse">
    <part name="photoResponse" type="xsd:hexBinary"/>
    </message>
    <portType name="Photo">
    <operation name="getPhoto">
    <input message="tns:getPhotoRequest"/>
    <output message="tns:getPhotoResponse"/>
    </operation>
    </portType>
    <binding name="PhotoBinding" type="tns:Photo">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="getPhoto">
    <input>
    <mime:multipartRelated>
    <mime:part>
    <soap:body use="literal"/>
    </mime:part>
    <mime:part>
    <mime:content part="photo" type="image/jpeg"/>
    </mime:part>
    </mime:multipartRelated>
    </input>
    <output>
    <mime:multipartRelated>
    <mime:part>
    <soap:body use="literal"/>
    </mime:part>
    <mime:part>
    <mime:content part="photoResponse" type="image/jpeg"/>
    </mime:part>
    </mime:multipartRelated>
    </output>
    </operation>
    </binding>
    <service name="PhotoService">
    <port name="PhotoPort" binding="tns:PhotoBinding">
    <soap:address location="http://localhost:8888/ws_security-AttachmentWS-context-root/PhotoPort"/>
    </port>
    </service>
    </definitions>
    The WS works fine, but if i register it with Gateway, i cant invoke it anymore.
    I always get the following error:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode xmlns:p="http://schemas.oblix.com/ws/2003/08/Faults">p:Client.GenericFault</faultcode>
    <faultstring>Cannot Replace the To Soap Header</faultstring>
    <detail/>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Can anyone help please?

    Hi
    I guess no one responded to this.
    I now have this problem, but it is only recent..... It appears to be tied up with Enterprise Manager security (?).
    Did you ever get a response ?

  • Best practice for integrating oracle atg with external web service

    Hi All
    What is the best practice for integrating oracle atg with external web service? Is it using integration repository or calling the web service directly from the java class using a WS client?
    With Thanks & Regards
    Abhishek

    Using Integration Repository might cause performance overhead based on the operation you are doing, I have never used Integration Repository for 3rd Party integration therefore I am not able to make any comment on this.
    Calling directly as a Java Client is an easy approach and you can use ATG component framework to support that by making the endpoint, security credentials etc as configurable properties.
    Cheers
    R
    Edited by: Rajeev_R on Apr 29, 2013 3:49 AM

  • Gateway in Oracle Web Service Manager

    Hi,
    Does anybody know a really usable document for gateways in Oracle Web Service Manager?
    I tried to use the common Oracle's document to create a gateway and counfigure a tomcat-axis web service in it, but I could not manage it.
    Supposing that I have a webservice on http://localhost:8088/axis/services/ExtService?wsdl
    and I have a OWSM administrable on http://localhost:3115/ccore
    what wuld be the steps to register my webservice into OWSM to be able to call my web service through OWSM?
    thanx in advance,
    Attila

    Hi Eric,
    thank you for your answer.
    Now I managed to authenticate the user with WS-BASE against LDAP server (ApacheDS), but, with the authorization I can not move on.
    The structure of my Ldap entries is the following:
    -> system
      -> groups
        -> tomcatCallers
    attributes: cn: tomcatCallers
    objectClass: groupOfUniqueNames
    objectClass: top
    uniqueMember: 0.9.2342.19200300.100.1.1=owsmuser,
    0.9.2342.19200300.100.1.1=admin,2.5.4.11=system
      -> users
        -> owsmuser
    attributes: cn: OWSM user
    objectClass: person
    objectClass: organizationalPerson
    objectClass: inetOrgPerson
    objectClass: top
    sn: OWSM
    uid: owsmuser
    So, Authentication against owsmuser is OK, with parameters:
    LDAP baseDN (*): ou=users,ou=system
    Uid Attribute (*): uid
    How should I configure the policy step Ldap Authorize?
    I tried it with parameters:
    LDAP baseDN (*): ou=system
    ServiceRoles : tomcatCallers
    Uid Attribute (*): uid
    but it does not seem to work. I get the fault: 'Access Denied. User: owsmuser'
    One more question :-) :
    if I make a 2nd policy gateway with ID C0003002 and configure it in file
    %OWSM_HOME%\j2ee\home\applications\gateway\gateway\WEB-INF\gateway-config-installer.properties
    with propery gateway.component.id=C0003002 and restart the OWSM the gateway identified by C0003001 becomes unreachable.
    How can I configure OWSM to eable all the gateways at the same time?
    thanx in advance,
    Attila
    Edited by: user5329589 on Jul 1, 2010 5:04 AM

  • Deploy pre-compiled client proxy with a web service

    When a web service is deployed on an OAS server, the page at the endpoint URL includes a link to a proxy jar file (<endpoint url>?proxy_jar). I have a proxy jar that I've built and I'd like to be able to include it in my war file so that the proxy jar URL will download it instead of the server-generated one. Is there a way to do that?
    I did something similar with the wsdl file: I included it in the war file in the same folder and filename as the web service interface class, but that didn't work for the proxy jar file.
    -Peter

    Hi Peter,
    You cannot replace the proxy jar generated by the Oracle Web Services runtime with your own version. If you want to provide your own version, you will have to handle it as a classic resource in your .ear file, and advertize the location of this resource using some other mechanism.
    -Eric

  • OC4J client with WCF Web Service using Mutual Certificates

    I'm trying to generate client stubs for a WCF web service.
    I tried using docs here:
    http://docs.oracle.com/cd/B10464_05/web.904/b10447/tools.htm
    # OC4J 9.0.4
    Java sdk 1.4.2_03
    cd \dev\oc4j-9.0.4\webservices\lib
    - config.xml
    <?xml version="1.0"?>
    <web-service>
    <proxy-gen>
    <proxy-dir>output/clientclass/examples/webservices/simple_client</proxy-dir>
    <option name="include-source">true</option>
    <option name="wsdl-location">
    http://xxx.xxxxx.xxx:9000/WCFTestService/Service.svc?wsdl</option>
    </proxy-gen>
    </web-service>
    java -jar WebServicesAssembler.jar -debug
    - ends with NullPointerException:
    <output>
         Please wait ...
         ..parsing top level elements
         ..generating client side proxy for wsdl :
                        http://xxx.xxxxx.xxx:9000/WCFTestService/Service.svc?wsdl
         ....compiling client side proxy for package :proxy
         Exception in thread "main" java.lang.NullPointerException
                             at oracle.j2ee.ws.tools.WsAssmProxyGenerator.doCompile(WsAssmProxyGenerator.java:284)
                             at oracle.j2ee.ws.tools.WsAssmProxyGenerator.processProxy(WsAssmProxyGenerator.java:135)
                             at oracle.j2ee.ws.tools.WsAssmProxyGenerator.clientGenerate(WsAssmProxyGenerator.java:112)
                             at oracle.j2ee.ws.tools.WsAssembler.assemble(WsAssembler.java:96)
                             at oracle.j2ee.ws.tools.WsAssembler.main(WsAssembler.java:54)
    </output>
    - Then tried using Sun jdk to gen proxy:
    # Just SDK
    Java sdk 1.6.0_25
    wsimport -keep -extension -d output -s src -p examples.webservices http://xxx.xxxxx.xxx:9000/WCFTestService/Service.svc?wsdl
    <ListOfGeneratedJavaFiles>
    CompositeType.java
    GetData.java
    GetDataResponse.java
    GetDataUsingDataContract.java
    GetDataUsingDataContractResponse.java
    IService.java
    ObjectFactory.java
    package-info.java
    Service.java
    </ListOfGeneratedJavaFiles>
    - creates the service and port, but where is the stub?
    in my code I use the stub to set the certificate auth
         <codeSnip>
         // get the ws stub
         IService_Stub serviceStub = (IService_Stub)iSampleService;
         // add the credential providers to the ws stub
         serviceStub._setProperty(WSSecurityContext.CREDENTIAL_PROVIDER_LIST,
                                                      credProviders);
         </codeSnip>
    # WebLogic 10.3.5
    I'm happy to say that everything seems to work well under WebLogic 10.3.5.
    I used weblogic.wsee.tools.anttasks.ClientGenTask with ant
    to generate the proxy files.
    <ListOfGeneratedJavaFiles>
    IService.java
    IService_Stub.java
    Service.java
    Service_Impl.java
    </ListOfGeneratedJavaFiles>
    I understand how to use these files and everything works.
    But we need this to work in the OC4J orion server before we are ready to upgrade to WebLogic.
    I have also tried OC4J 10.1.2.0.2 - same a OC4j 9.0.4 - null pointer.
    I also tried Metro, but it uses wsimport, so also does not have a stub.
    I'm out of ideas. Any pointers or advice are greatly appreciated.
    Thank you.

    My guess would be that the server's certificate isn't in your client's trust-store (which defaults to "cacerts"). Chances are your senior architect has already imported the server-cert on his machine and forgotten he did so.
    Grant

  • Error in Calling Oracle Web Service through Eclipse-indigo

    Hi All,
    I'm getting an below error when trying to call my oracle web service through Eclipse-indigo.
    Error:-
    IWAB0135E An unexpected error has occurred.
    502
    Bad Gateway
    Steps followed to create oracle web service and invoke WS :-
    Followed link
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb_web_services.htm
    which explans how to create oracle web service.
    1. Configure HTTP Access
    2. Configure the ORAWSV Servlet
    3. created user 'test' and wrote simple procedure getdescription which will return name for request id.
    4. granted all privilages to user.
    5. The orawsv servlet automatically generates a WSDL file.
    6. trying to call WS through Eclipse-indigo, but i get error.

    Trying to test via PL/SQL first via (see the following url for more info: Re: Using utl_dbws to call web service ) for example something like the following:
    SQL> set serveroutput on
    SQL> --
    SQL> def USERNAME=DBNWS
    SQL> --
    SQL> DECLARE
      2    V_SOAP_REQUEST      XMLTYPE := XMLTYPE(
      3  '<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">
      4          <SOAP-ENV:Body>
      5                  <m:SNUMBER-GET_SQRTInput xmlns:m="http://xmlns.oracle.com/orawsv/&USERNAME/GET_SQRT">
      6                          <m:INPUT_VALUE-NUMBER-IN>2</m:INPUT_VALUE-NUMBER-IN>
      7                  </m:SNUMBER-GET_SQRTInput>
      8          </SOAP-ENV:Body>
      9  </SOAP-ENV:Envelope>');
    10    V_SOAP_REQUEST_TEXT CLOB := V_SOAP_REQUEST.getClobVal();
    11    V_REQUEST           UTL_HTTP.REQ;
    12    V_RESPONSE          UTL_HTTP.RESP;
    13    V_BUFFER            VARCHAR2(1024);
    14  BEGIN
    15
    16    V_REQUEST := UTL_HTTP.BEGIN_REQUEST(URL => :URL, METHOD => 'POST');
    17    UTL_HTTP.SET_HEADER(V_REQUEST, 'User-Agent', 'Mozilla/4.0');
    18    V_REQUEST.METHOD := 'POST';
    19    UTL_HTTP.SET_HEADER (R => V_REQUEST, NAME => 'Content-Length', VALUE => DBMS_LOB.GETLENGTH(V_SOAP_REQUEST_TEXT));
    20    UTL_HTTP.WRITE_TEXT (R => V_REQUEST, DATA => V_SOAP_REQUEST_TEXT);
    21
    22    V_RESPONSE := UTL_HTTP.GET_RESPONSE(V_REQUEST);
    23    LOOP
    24      UTL_HTTP.READ_LINE(V_RESPONSE, V_BUFFER, TRUE);
    25      DBMS_OUTPUT.PUT_LINE(V_BUFFER);
    26    END LOOP;
    27    UTL_HTTP.END_RESPONSE(V_RESPONSE);
    28  EXCEPTION
    29    WHEN UTL_HTTP.END_OF_BODY THEN
    30      UTL_HTTP.END_RESPONSE(V_RESPONSE);
    31  END;
    32  /
    old   5:                <m:SNUMBER-GET_SQRTInput xmlns:m="http://xmlns.oracle.com/orawsv/&USERNAME/GET_SQRT">
    new   5:                <m:SNUMBER-GET_SQRTInput xmlns:m="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT">
    <?xml version="1.0" ?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <GET_SQRTOutput xmlns="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT">
    <RETURN>1.41421356237309504880168872420969807857</RETURN>
    </GET_SQRTOutput>
    </soap:Body>
    </soap:Envelope>
    PL/SQL procedure successfully completed.
    SQL> set serveroutput on
    SQL> --In the example give above the WSDL info should be seen via http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT?wsdl

  • Confirming method to secure web services through oracle web service manager

    Hi All,
    I am just wondering about the method to secure web service through oracle web service manager.
    I have a unsecure web service "helloworld" which is deployed on JWSDP1.6 toolkit.I want to secure it through oracle web service manager.
    Inorder to secure this unsecure web service,I use gateway(web service manager for securing web service using message level security through certificate).
    So when client want to access the helloworld service,it contacts the gateway securely and gateway intern connect to original web service after decrypting and verification of the signature.When gateway gets response from the web service,it signs the response message and then encrypt and passs on to the client.
    So my question is,is it the right way to secure web service?
    As I am getting the following fault exception :
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode "http://schemas.oblix.com/ws/2003/08/Faults">c</faultcode>
    <faultstring>Step execution failed with an exception
    </faultstring>
    <detail></detail>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I checked the log at :
    C:\coresv_install_home\external\oc4j-10.1.2.0.0\j2ee\home\log\http-web-access
    but there is no helpful information available.Thanks for any help.
    Kash

    Hi Rajesh,
    Thanks for your reply.I am using the following policy steps:
    1)for Request (Decrypt and Verify signature).
    2)for Response(Sign Message and Encrypt).
    The configuration for Request is shown below:
    Pipeline "Request"
    Pipeline Steps:
    Start Pipeline
    Log
    Decrypt and Verify Signature
    Basic Properties Type Default Value
    Enabled (*) boolean true true
    XML Decryption Properties Type Default Value
    Decryptor''s keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-keystore.jks
    Decrypt Keystore Type (*) string jks jks
    Decryptor''s keystore password string *******
    Decryptor''s private-key alias (*) string s1as
    Decryptor''s private-key password string *******
    Enforce Encryption (*) boolean true true
    XML Signature Verification Properties Type Default Value
    Verifying Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-truststore.jks
    Verifying Keystore type (*) string jks jks
    Verifying Keystore password string *******
    Signer''s public-key alias (*) string xws-security-client
    Enforce Signing (*) boolean true true
    End Pipeline
    And the configuration for Response is shown below:
    Pipeline "Response"
    Pipeline Steps:
    Start Pipeline
    Log
    Sign Message and Encrypt
    Basic Properties Type Default Value
    Enabled (*) boolean true true
    Signing Properties Type Default Value
    Signing Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-keystore.jks
    Signing Keystore Type (*) string jks jks
    Signing Keystore password string *******
    Signer''s private-key alias (*) string s1as
    Signer''s private-key password string *******
    Signed Content (*) string BODY BODY
    Sign XPATH Expression string
    Sign XML Namespace string[]
    Encryption Properties Type Default Value
    Encryption Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-truststore.jks
    Encrypt Keystore Type (*) string jks jks
    Encryption Keystore password string *******
    Decryptor''s public-key alias (*) string xws-security-client
    Encrypted Content (*) string BODY BODY
    Encrypt XPATH Expression string
    Encrypt XML Namespace string[]
    End Pipeline
    I checked the log again but nothing useful there,it is just giving the following values:
    2006-08-14 16:32:50,372 INFO [Thread-21] mstore.OLiteMStore - SELECT MEASUREMENT_STR FROM MEASUREMENT_PERSISTED_STORE WHERE ID=? FOR UPDATE
    2006-08-14 16:34:50,364 INFO [Thread-16] mstore.OLiteMStore - INSERT INTO MEASUREMENT_PERSISTED_STORE (ID,DEF_ID,CONTEXT_ID,PARENT_CONTEXT_ID,TIME,STORETIME,KEY0,KEY1,KEY2,KEY3,KEY4,KEY5,KEY6,KEY7,KEY8,KEY9,KEY10,KEY11,KEY12,KEY13,KEY14,KEY15,KEY16,KEY17,KEY18,KEY19,KEY20,KEY21,KEY22,KEY23,KEY24,KEY25,KEY26,KEY27,KEY28,KEY29,KEY30,KEY31,KEY32,KEY33,KEY34,KEY35,KEY36,KEY37,KEY38,KEY39,DBM0,MEASUREMENT_STR) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,'R',empty_clob())
    2006-08-14 16:34:50,364 INFO [Thread-16] mstore.OLiteMStore - SELECT MEASUREMENT_STR FROM MEASUREMENT_PERSISTED_STORE WHERE ID=? FOR UPDATE
    Any help would be appreciated.Thanks.
    Kash

  • Problem with RESTful web service

    I am running into a problem with Flex Web Services (REST) in trying to get the proper format returned. I can see that the HTTP header is set to
    Accept: */*;
    rather than
    Accept: application/xml
    when sending the request. The web service was generated via the web services HTTP data services wizard. I edited it to set the resultFormat to xml
        // Constructor
        public function _Super_UsersService()
            // initialize service control
            _serviceControl = new mx.rpc.http.HTTPMultiService();
             var operations:Array = new Array();
             var operation:mx.rpc.http.Operation;
             var argsArray:Array;
             operation = new mx.rpc.http.Operation(null, "getUsers");
             operation.url = "http://localhost:8888/users";
             operation.contentType = "";
             operation.method = "GET";
             operation.resultFormat = "xml";
             //operation.serializationFilter = serializer0;
             operation.properties = new Object();
             operation.properties["xPath"] = "/";
             operation.resultType = valueObjects.Users;
             operations.push(operation);
             _serviceControl.operationList = operations; 
             model_internal::initialize();
    How does one configure the accept header?

    Hi,
    I have posted a simple application with the RESTful reference:
    http://apex.oracle.com/pls/apex/f?p=13758
    I can give you full privileges on this so you can look at the WEB service reference. Shall I send to you separately for login user?
    It is using the RESTful service: http://apex.oracle.com/pls/apex/nd_pat_miller/demo/employee/{deptno}
    This RESTful service tests fine when I test from within the RESTful web service module of the Workspace.
    I based this on the Video demo tutorial for RESTful web service that Oracle published for 4.2 release. The video seemed to exclude the {deptno} in the URL but when I try that, it doesn't work either.
    This is the error I am getting when I run this on my Apex environment: (it, of course, will not run the web service in the apex.oracle.com environment)
    class="statusMessage">Bad Request</span>                                         
    </h3>                                         
    </div>                                         
    </div>                                         
    <div id="xWhiteContentContainer" class="xContentWide">                                         
    <div class="xWhiteContent">                                         
    <div class="errorPage">                                         
    <p>                                         
    <ul class="reasons"><li class="badRequestReason"><span class="target" style="display:none;">uri</span><span class="reason">Request path contains unbound parameters: deptno</span></li>                                    
    </ul>Thanks,
    Pat
    Edited by: patfmnd on May 8, 2013 3:33 AM

  • "no serializer is registered..." error with a web service not working

    I'm using JDeveloper 10.1.3
    EJB 3.0
    I'm having issues with the web service not working after I create a client for it. The web service works fine up until I generate the proxy on the other side.
    ERROR An error occurred for port: {http://buslogic/}MyWebService1SoapHttpPort: no serializer is registered for (class buslogic.runtime.....
    I saved the file before I added the proxy and the wsdl looks the same between the working one and the non working one. I can not pin point the when the change to the web service is occuring. It seemed to work once all the way up until I had a ADF page trying to retrieve data, another time it failed when the proxy was created.
    I can get the version that I saved to work immediately after the version that does not fails.
    Any help would be greatly appreciated,
    Dan

    I'm using JDeveloper 10.1.3
    EJB 3.0
    I'm having issues with the web service not working after I create a client for it. The web service works fine up until I generate the proxy on the other side.
    ERROR An error occurred for port: {http://buslogic/}MyWebService1SoapHttpPort: no serializer is registered for (class buslogic.runtime.....
    I saved the file before I added the proxy and the wsdl looks the same between the working one and the non working one. I can not pin point the when the change to the web service is occuring. It seemed to work once all the way up until I had a ADF page trying to retrieve data, another time it failed when the proxy was created.
    I can get the version that I saved to work immediately after the version that does not fails.
    Any help would be greatly appreciated,
    Dan

  • Nyone who had success using sign-encrypt policy(oracle web service manager)

    Hi All,
    I could not succeed in using sign Message and Encrypt and decrypt and verify signature policy using oracle web services manager.So I would be grateful if somebody who had success in using it would shed light on its use.
    Basically,I am using the following policy steps in securing a helloworld web service using gateway(oracle web services manager) :
    1)for Request (Decrypt and Verify signature).
    2)for Response(Sign Message and Encrypt).
    The configuration for Request is shown below:
    Pipeline "Request"
    Pipeline Steps:
    Start Pipeline
    Log
    Decrypt and Verify Signature
    Basic Properties Type Default Value
    Enabled (*) boolean true true
    XML Decryption Properties Type Default Value
    Decryptor''s keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-keystore.jks
    Decrypt Keystore Type (*) string jks jks
    Decryptor''s keystore password string *******
    Decryptor''s private-key alias (*) string s1as
    Decryptor''s private-key password string *******
    Enforce Encryption (*) boolean true true
    XML Signature Verification Properties Type Default Value
    Verifying Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-truststore.jks
    Verifying Keystore type (*) string jks jks
    Verifying Keystore password string *******
    Signer''s public-key alias (*) string xws-security-client
    Enforce Signing (*) boolean true true
    End Pipeline
    And the configuration for Response is shown below:
    Pipeline "Response"
    Pipeline Steps:
    Start Pipeline
    Log
    Sign Message and Encrypt
    Basic Properties Type Default Value
    Enabled (*) boolean true true
    Signing Properties Type Default Value
    Signing Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-keystore.jks
    Signing Keystore Type (*) string jks jks
    Signing Keystore password string *******
    Signer''s private-key alias (*) string s1as
    Signer''s private-key password string *******
    Signed Content (*) string BODY BODY
    Sign XPATH Expression string
    Sign XML Namespace string[]
    Encryption Properties Type Default Value
    Encryption Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-truststore.jks
    Encrypt Keystore Type (*) string jks jks
    Encryption Keystore password string *******
    Decryptor''s public-key alias (*) string xws-security-client
    Encrypted Content (*) string BODY BODY
    Encrypt XPATH Expression string
    Encrypt XML Namespace string[]
    End Pipeline
    But I am getting the following fault exception while accessing this secure web service :
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode "http://schemas.oblix.com/ws/2003/08/Faults">c</faultcode>
    <faultstring>Step execution failed with an exception
    </faultstring>
    <detail></detail>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I would appreciate your help.Thanks.
    Kash

    Hi clemens,
    Actually I installed OracleWebServices_Manager_4_0_3 and I see my installation directory does not contain any of the directory structure you mention.
    It installed oracle web services manager in the following location:
    C:\coresv_install_home
    and it contains the following subdirectories:
    1)bin
    2)config
    3)db
    4)ears
    5)external
    6)extlicences
    7)lib
    8)samples
    9)scripts
    10)wars
    So I like to ask did you install the same version of the oracle web services manager, if not which version you install in which security is working for you.Thanks for any help.
    Kash

  • 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
    -------------------------------------------------------------------

  • How to Use SOAPArray to Exchanged Data with a Web Service

    The method of a prototype Web service I created is defined to take many parameters
    and return an object of a user defined class. Furthermore, the user defined class
    includes data elements of another user defined class and the Java ArrayList class.
    This works with a Java client referencing the WebLogic created client.jar file
    but I don't know how well it will work with a non-Java client. In particular,
    with Perl which is the language that will be used by the developer who first will
    test with the prototype.
    In posts to this newsgroup use of "language-specific, generic containers" has
    been discouraged and the "language-agnostic" SOAPArray recommended. I have searched
    this newgsroup and the Web for examples of how to use a SOAPArray in a Web service
    EJB to receive parameters and return results but found none.
    Will someone refer me to an example or give an overview of how a Java Web service
    EJB running in WebLogic 6.1 would use SOAPArray to get parameter values and return
    results?
    Also, I would like confirmation that it is best to use SOAPArray to exchange data
    with a Web service to achieve the goal of a service accessible by any language.
    Thank you.

    Replies in-line:
    How are the structures, e.g. gltrans-workType, defined in the Web service?The structure is made up of nested Java Beans, but this does not mean that the
    client for your web service has to be written in Java. The WSDL that I sent contains
    everything that a .NET-based (or Perl-based, or Python-based, or VB-based, or
    C++ based) Web Service Stack needs to correctly create all the data types in the
    web services' signature! That's the beauty of XML Schema! It's programming language
    independent :-)
    In
    other words, what definition in Java resulted in the WSDL statements?The WSDL wasn't produced by WLS 6.1, but it (WLS 6.1) can consume it.
    What is the signature of method submitGLTransWorkAsJavaBean() in the
    Web service?public void submitGLTransWorkAsJavaBean(GlTransactionsCpyType glTransactionsCpyType)
    GlTransactionsCpyType is the outer-most Java Bean. WLS 6.1 does not generate
    Java Beans for you, but it will use ones that you defined. See the Java Bean tutorial
    on the Javasoft sitem for details on how to create a Java Bean.
    Was the WSDL generated using the WL tools for creating a Web service?No.
    Conclusion:
    You asked for someone to provide you with an example of how to use SOAP array
    in a WSDL, which is what the attached file contained :-) What you want to do now
    is find a tool that can generate Java Bean code from this WSDL (Apache Axis has
    a wsdl2java tool that should work), or create the Java Beans yourself. Afterwards,
    create a WLS 6.1 Web Service a expose it for a Perl or .NET client.
    Regards,
    Mike Wooten
    "Jeff Carey" <[email protected]> wrote:
    >
    Please elaborate.
    How are the structures, e.g. gltrans-workType, defined in the Web service?
    In
    other words, what definition in Java resulted in the WSDL statements?
    What is the signature of method submitGLTransWorkAsJavaBean() in the
    Web service?
    Was the WSDL generated using the WL tools for creating a Web service?
    Thank you.
    "Michael Wooten" <[email protected]> wrote:
    Hi Jeff,
    Sounds like a pretty cool prototype :-)
    I have attached a WSDL (at the bottom of this post) that contains a<schema>
    that
    uses a SOAPArray to create an array of a <complexType>.
    HTH,
    Mike Wooten
    "Jeff Carey" <[email protected]> wrote:
    The method of a prototype Web service I created is defined to take
    many
    parameters
    and return an object of a user defined class. Furthermore, the user
    defined class
    includes data elements of another user defined class and the Java ArrayList
    class.
    This works with a Java client referencing the WebLogic created client.jar
    file
    but I don't know how well it will work with a non-Java client. Inparticular,
    with Perl which is the language that will be used by the developerwho
    first will
    test with the prototype.
    In posts to this newsgroup use of "language-specific, generic containers"
    has
    been discouraged and the "language-agnostic" SOAPArray recommended.
    I have searched
    this newgsroup and the Web for examples of how to use a SOAPArray in
    a Web service
    EJB to receive parameters and return results but found none.
    Will someone refer me to an example or give an overview of how a Java
    Web service
    EJB running in WebLogic 6.1 would use SOAPArray to get parameter values
    and return
    results?
    Also, I would like confirmation that it is best to use SOAPArray toexchange
    data
    with a Web service to achieve the goal of a service accessible by any
    language.
    Thank you.

  • Fault Handling in Web Services

    Hi,
    Can anyone please point me to any document which explains about the fault handling in Web Services using Bottom-up Approach?
    Thanks

    Can you give some further information?
    Do you want to throw a fault an your webservice and you are asking how this fault is seen by the service requestor? If you throw a exception it is mapped to
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="RuntimeFault" targetNamespace="http://schemas.oracle.com/bpel/extension" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/">
    <message name="RuntimeFaultMessage">
    <part name="code" type="xsd:string"/>
    <part name="summary" type="xsd:string"/>
    <part name="detail" type="xsd:string"/>
    </message>
    </definitions>
    Have you tried
    http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Training-Segment06.pdf?
    This is top down but perhaps you can learn from it.

Maybe you are looking for

  • Cant't get my ipod nano 6th gen to stop repeating

    I use the shuffle on the playlists,songs,genres,albums etc and when a song plays it repeats itself. I don't know what I did but I would like to turn off the repeat of the song..any help with this? I cant seem to find it on this new nano.thanks

  • Logitech Marble Mouse scrollwheel emulation

    Before I open a Wiki account*, can anyone else confirm that it only works over USB? I can't remember how long I've had this thing, and I even have a vague feeling I came up against this problem before I installed Arch, but I always assumed I must hav

  • Continue without error

    Why does the following query runs even after error in each loop ? declare @i int set @i = 100 declare @sql varchar(255) while @i > 0 begin set @sql = 'select * from faketable' exec(@sql) print @i set @i = @i - 1; end

  • "Gaps" in photo stream on iPhoto

    I am working with pictures I took on a recent vacation, some of which I uploaded from my camera and some of which were taken with my iPhone. When I went to my current photo stream on iPhoto, I noticed that not all of the pictures on my iPhone photost

  • Maverick App Store

    I use OSX Maverick, and whenever I try to update an app on the my MacBook Pro, this message comes up: We could not complete your request. There was an error in the App Store. Please try again later. (13). Is there something I have to do to fix this,