Invoking secure services inside bpel with x509 certificate and weblogic

Hi, everyone. Here we have a problem with invoking secure webservices (*client authentication*) from a bpel deployed in weblogic that is consuming so much time (more than a week) and don't know what else to try.
The scenario: we have a bpel process which invokes a series of web services without any security mechanisms. Now, we have to change it to invoke a series of webservices that do exactly the same, but using ssl and client authentication with x509 certificates. The first part of it, the ssl one, is done without any problems. But the second part is not working at all, and we (I) are running out of ideas how to configure it in weblogic.
The situation: I want to invoke a webservice, say, Service1. It requires client authentication, so I should pass a certificate (*which I already have*). I put that certificate inside a keystore (with keytool -importkeystore, from p12 to jks). With SoapUI I have no problem now to invoke the service now. But, I'm not sure what should I do to make it work in weblogic; after all, the provider keeps answering with a HTTP 403 Forbidden error.
The actions: inside the weblogic's enterprise manager, in SOA deployments (SOA / soa-infra / default ) I selected my composite, and in the Dashboard (down at Services and references), clicked the particular service (Service1). Then, it took me to another page where I can see statistics about that service, and a tab named Policies. There (in Policies) I have the chance to attach a policy, but I don't know which one is the approppriate; I guest it should be WSS11_x509_token_with_message_protection_service_policy, which in turn asks me to provide a value for keystore.recipient.alias, keystore.sig.csf.key and keystore.enc.csf.key. For this keys, I provide values that I configured in Credentials (Weblogic Domain / Security / Credentials, subtree oracle.wsm.security). My own logic tells me that what I have done is what I should have done, but still no luck :(
I am sure the keystore is ok (if I rename the keystore file it tells me that the keystore file cannot be found, and if I specify an alias which is not inside the keystore it tells me that the alias is not found and list me valid aliases). I guess I am missing something, somewhere, but after many hours (days, almost 2 weeks) googling, still cannot make it work.
Any ideas would be apreciated. If anyone knows about a post or article about this, it would be apreciated too, but I can tell is not that I just googled for 25 minutes, but I have spent more than a week googling, trying, analyzing and reading formal documentation, with no results.
Thanks in advance!

Try to enable SSL and WS debugging on your WLS. Add the following to your startup script:
-Dweblogic.webservice.verbose=true
-Dssl.debug=true
..then you might be able to spot if the rejection is based on some handshake problem.

Similar Messages

  • Invoking Secured Services from BPEL - Build scripts

    We are using SOA Suite 10.1.3.4 and JDeveloper 10.1.3.4 for BPEL process development. We are invoking secure web services from BPEL. In order to do this, we have imported the server certificates in the keystore of Oracle SOA Suite. These certificates are also imported into JDev keystore. In DEV environment, I have deployed the BPEL process from JDeveloper and the tested the https web service invocation. It works fine.
    When taking this to PROD environment, we need to provide deployment scripts to the release team. Should the scripts contain any properties specific to SSL configuration? I want the deployment to happen the same way JDeveloper deploys BPEL process by makign use of SSL Certs in its keystore. What is the way to achieve this?
    Thanks

    Hi
    You can deploy BPEL to BPEL process manager using ANT or Jdeveloper . I prefer ANT to deploy to prod.
    Coming to security impmentation, you can use OWSM (Oracle Websevices manager) to assign security key before invoking secured webservice.
    In OWSM follow the brief steps below.
    1. create gateway
    2. create service which points to secured webservice
    3. create pipeline templates with assigning security key , before that import key store to your server
    4. assign above pipeline template to service
    5. now get the URL of service created.
    In Jdev:
    6.In BPEL process create partner link with above Service URL in step5 ( instead of directly pointing to secured webservice from BPEL, go thru OWSM)
    7. use ANT or JDeveloper to deploy BPEL process to Prod.
    Before deploying to PROD you need to above steps 1 to 5 on PROD OWSM
    for more details on OWSM please see following link:
    http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b31008/toc.htm
    Thanks
    Seshagiri.Rayala
    http://soabpel.wordpress.com/

  • Invoking secured service using BPEL partner link -  basic authentication

    HI,
    We are invoking a secured service using partner link. The below property is defined in bpel.xml (basicHeaders property is created on partnerlink)
    <property name="basicHeaders">credentials</property>
    My concern is how the basicusername and basicpassword is sent to the secured webservice?
    is it sent in the calling uri ?
    I don't think it will be sent under soap header..
    Please anyone confirm.
    Thanks
    Phani

    Hi
    I am having trouble making the BPEL and Systinet to work together. I have Systinet and BPEL installed separately on 2 different servers. I deployed my web services and registered them in UDDI. I created a new BPEL process and added a partner link to refer to one of the web service I have registered in UDDI. When I create the partner link, it is forcing me to give the wsdl and it also gives an error message " There are no partner link types defined in current wsdl. Do you want create that will by default create partner link type for you?". If I say "NO' then deployment fails. If I say "Yes", then it creates a new wsdl file on the local server etc and gives "<Faulthttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>soapenv:Server.userException</faultcode>
    <faultstring>com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 75164a0815ea471a:-3be8c246:117cc377894:-537b. Please check the process instance for detail.</faultstring>". Any help is appreciated.

  • Invoke secured WS from BPEL

    Hello,
    My problem is:
    I have deployed a composite application where the interface is Web Service with Policy wss_username_token_service_policy. I want to invoke that web service from another composite application through BPEL. In other words invoke secured web service from BPEL.
    I've created Partner Link and added:
    <property name="wsseHeaders">propagate</property>
    <property name="wsseUsername">weblogic1</property>
    <property name="wssePassword">welcome1</property>
    I've read many topics about my problem, even I've done http://soa-howto.blogspot.com/2008/04/invoking-ws-security-compliant-web.html
    but it doesn't work.
    What should I do?
    Here is some code:
    composite.xml
    <reference name="validateIdentifier"
    ui:wsdlLocation="http://maciek:8001/soa-infra/services/default/validateIdentifier/validateIdentifierWebService.wsdl">
    <interface.wsdl interface="http://oracle.com/sca/soapservice/validateIdentifier/validateIdentifier/validateIdentifierWebService#wsdl.interface(execute_ptt)"/>
    <binding.ws port="http://oracle.com/sca/soapservice/validateIdentifier/validateIdentifier/validateIdentifierWebService#wsdl.endpoint(validateIdentifierWebService/execute_pt)"
    location="http://maciek:8001/soa-infra/services/default/validateIdentifier/validateIdentifierWebService?WSDL">
    <property name="oracle.webservices.auth.username" type="xs:string"
    many="false" override="may">weblogic1</property>
    <property name="oracle.webservices.auth.password" type="xs:string"
    many="false" override="may">welcome1</property>
    </binding.ws>
    </reference>
    And here is error from Weblogic EM:
    The selected operation execute could not be invoked.
    An exception occured while invoking the webservice operation. Please see logs for more details.
    oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Waiting for response has timed out. The conversation id is null. Please check the process instance for detail.
    Collapse Hide Additional Trace Information     Hide Additional Trace Information
    java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Waiting for response has timed out. The conversation id is null. Please check the process instance for detail. at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:575) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:381) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:298) at sun.reflect.GeneratedMethodAccessor1688.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(AstValue.java:157) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283) at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53) at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1245) at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94) at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94) at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:698) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:285) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420) at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.help.web.rich.OHWFilter.doFilter(Unknown Source) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.emSDK.license.LicenseFilter.doFilter(LicenseFilter.java:101) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.emas.fwk.MASConnectionFilter.doFilter(MASConnectionFilter.java:41) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.AuditServletFilter.doFilter(AuditServletFilter.java:179) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.EMRepLoginFilter.doFilter(EMRepLoginFilter.java:203) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.core.app.perf.PerfFilter.doFilter(PerfFilter.java:141) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.sysman.eml.app.ContextInitFilter.doFilter(ContextInitFilter.java:542) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) Caused by: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Waiting for response has timed out. The conversation id is null. Please check the process instance for detail. at oracle.sysman.emSDK.webservices.wsdlapi.dispatch.DispatchUtil.invoke(DispatchUtil.java:260) at oracle.sysman.emSDK.webservices.wsdlparser.OperationInfoImpl.invokeWithDispatch(OperationInfoImpl.java:985) at oracle.sysman.emas.model.wsmgt.PortName.invokeOperation(PortName.java:716) at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:569) ... 67 more Caused by: javax.xml.ws.soap.SOAPFaultException: Waiting for response has timed out. The conversation id is null. Please check the process instance for detail. at oracle.j2ee.ws.client.jaxws.DispatchImpl.throwJAXWSSoapFaultException(DispatchImpl.java:882) at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:715) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:226) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:97) at oracle.sysman.emSDK.webservices.wsdlapi.dispatch.DispatchUtil.invoke(DispatchUtil.java:256) ... 70 more
    Best regards,
    MK
    Edited by: Kumako22 on 2010-03-02 12:44

    The service invoked directly through Weblogic 11 EM with WSS username token works correctly. But when it is invoked in BPEL from another Composite - the input for secured service is an output from the first service doesn't work.
    I think something wrong is with properities. I've also added BS username and password.
    Any clues?
    Could you write a SOAP Header for SOAPui?

  • Since the most recent Firefox update 3.6.8 by banking institution no longer shows as having a secure encrypted connection, however, my bank assures me all is well with their certificates and that is a problem with the new Firefox browser update, can you g

    Since the most recent Firefox update 3.6.8 my banking institution no longer shows as having a secure encrypted connection, however, my bank assures me all is well with their certificates and that is a problem with the new Firefox browser update, can you give me some idea why it is doing this?
    == This happened ==
    Every time Firefox opened
    == Right after the new Firefox update

    Hello Anne.
    Can you please try it in a new (temporary) Firefox profile and see if the issue is still present? See [http://support.mozilla.com/en-US/kb/Managing+profiles this article] to know how to create a new Firefox profile. Please report back the results.

  • Encrypt XML with X509 certificate

    I encrypt XML document with X509 certificate, I use this example http://msdn.microsoft.com/en-us/library/ms229744.aspx
    <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#">
    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <X509Data>
    <X509Certificate>
    MIIDrTCCApWgAwIBAgIKYezy3wACAAAAKDANBgkqhkiG9w0BAQUFADAPMQ0wCwYDVQQDEwRKYW5vMB4XDTA5MDkyNjExMjkzMloXDTEwMDkyNjExMzkzMlowFjEUMBIGA1UEAxMLSnVyYWogRHVkYWswgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKwgdaszEg+7OusxZ3zzZRE5rCbgCsKSDXXoJyaN59mkVlO85q8E2G4AScIJodZSwWsmJfGMfXD7uG7bV6GFBywbh5gwkULx4q0+BrZv5B7rNeFIk53kUnHc6yq2noV/lC4vuglNo7JTHnkChl3A76cgjJjeNWMEEWGvLiXtL3jLAgMBAAGjggGGMIIBgjAOBgNVHQ8BAf8EBAMCBPAwRAYJKoZIhvcNAQkPBDcwNTAOBggqhkiG9w0DAgICAIAwDgYIKoZIhvcNAwQCAgCAMAcGBSsOAwIHMAoGCCqGSIb3DQMHMB0GA1UdDgQWBBQeo685XNPPCk6vDCY+L2Ax1fKcfTATBgNVHSUEDDAKBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSXDAdY3AYa2WptwUfBKCVxaP3E+DBZBgNVHR8EUjBQME6gTKBKhiJodHRwOi8vamFuby9DZXJ0RW5yb2xsL0phbm8oMikuY3JshiRmaWxlOi8vXFxqYW5vXENlcnRFbnJvbGxcSmFubygyKS5jcmwwegYIKwYBBQUHAQEEbjBsMDMGCCsGAQUFBzAChidodHRwOi8vamFuby9DZXJ0RW5yb2xsL2phbm9fSmFubygyKS5jcnQwNQYIKwYBBQUHMAKGKWZpbGU6Ly9cXGphbm9cQ2VydEVucm9sbFxqYW5vX0phbm8oMikuY3J0MA0GCSqGSIb3DQEBBQUAA4IBAQCZreG1z+1EqNMgvOzJT+Dqa0VbnXYybOL98nwMi6kB+xGXTpdUvguJsUwsU2XAPAvGdny6fVEriI9LHMpWBC90/ptVWAnGO1/Lqu+S1/bllfDxh+1yJVkLtIsO1H+IbqT7pcimtiJpnTba9044qDGsBqI4Up2E18aaeMQxgurD8Jwgxm9ysaLzF4c9BfBSEGlMrOED32x2ZoqJgAhUZYL3ra1RxRfGGZjUT7oTrj443xjyIaMpwvFfqZyyO+KM1LWWtxK/H6trSQ6kXZYzCVtKQREakH5jO2p9Hirkt2/K3SmsUkCqJUqncFycynwe966LEwoV8RWG3bGJzMmt9evS
    </X509Certificate>
    </X509Data>
    </KeyInfo>
    <CipherData>
    <CipherValue>
    </CipherValue>
    </CipherData>
    </EncryptedKey>
    </KeyInfo>
    <CipherData>
    <CipherValue>
    </CipherValue>
    </CipherData>
    </EncryptedData>
    The encrypt XML consit element <X509Certificate>, I don't know what kind of cert info is in this element. In <X509Certificate> are public key, private key or what certificate info?
    Because if I want decrypt I use :
    // Create a new EncryptedXml object.
    EncryptedXml exml = new EncryptedXml(Doc);
    // Decrypt the XML document.
    exml.DecryptDocument();
    I don't must specify X509 certificate to decrypt XML file. How can work method  DecryptDocument()?

    I wonder if the problem here is that <X509Data><X509Certificate> ... </X509Certificate><X509Data> includes a binary copy of the certificate WITHOUT the private key. (It wouldn't make any sense to include the private key...anyone could
    decode it.) The Decrypt method is looking at the enclosed certificate and not finding a private key.
    I think somehow Encrypt has to create an X509ThumbprintKeyIdentifierClause instead, but I haven't figured out how yet.

  • MS-SOAP Toolkit 2, certificates and Weblogic

    Hi,
    I am trying to work with the Microsoft Toolkit 2 SP 2, client certificates and Weblogic
    6.1.
    It does not work, I know that the problem is with the Toolkit,
    it doesn't agree to work with Weblogic, but maybe someone
    in this forum know how to solve it.
    So, if someone knows how to solve it, please let me know ASAP.
    THANKS,
    Tal.

    To work with Microsoft MS SOAP Toolkit, you should use either RPC/encoded or document/literal.
    Even if RPC/literal is WS-I compliant and is now supported by the .NET 3.0 version of the framework, it's not supported for older releases.
    Best,
    -Eric

  • Steps to UTF-8 Encoding with Oracle 8i and Weblogic 6.1SP1

    What are the Steps to UTF-8 Encoding with Oracle 8i and Weblogic
              6.1SP1?
              I have:
              - Oracle 8.1.5 database created with character set=UTF8 and national
              character set=UTF8
              - Weblogic 6.1SP1 without any encoding mechanism set
              (though I did play with
              <jsp-param><param-name>encoding</param-name>
              <param-value>UTF-8</param-value>
              </jsp-param>
              in the weblogic.xml for a while though it seemed not to make a
              difference)
              - JSP pages set to content='text/html; charset=UTF-8'
              - JSP form POSTs set to enctype="UTF-8"
              I can copy and paste Chinese Kanji from a UTF8 encoded web page into
              form text boxes but when I post the data it comes back as different
              Kanji. Then once it is posted the Kanji stays the same on repeated
              posts. The same Kanji text also looks different when viewed in a form
              text box than when viewed as straight text on the page.
              Is there anything else? Or am I already encoding characters twice?
              Please help!
              Mel Christie
              

    Hi Experts,
    Please correct me if am asking you the question in wrong way.
    I have ARCGIS with oracle database 10gr2 in production server.
    My work is to connect AUTOCAD S/W (client computer which is connected in LAN) to ARCGIS in order to access the toposheets available in SDE user.
    When iam trying to connect iam getting this error:The specified credentials are not valid or provider is not able to establish a connection.
    I checked the path to production server by pinging and user/passcode too but not helpful.
    Please help me in this , very urgent.
    Thanks.
    Edited by: user13355644 on Jul 3, 2010 3:53 AM
    Edited by: user13355644 on Jul 22, 2011 2:55 AM

  • Test Web Services with X509 Certificate

    Hello,
    We'd like to perform a test of our web services with an X509 Certificate.  I have been using SOAPSonar to do my test up to this point.  But the version I have will not allow me to test with a certificate.  It appears I will need to purchase the software upgrade in order to test with a certificate. 
    Must I use this software or is there another method/software I can use to do this testing?
    Can Altova's XMLSpy test with a X509 certificate?
    Thanks,
    Matt

    Neetesh,
    It looks like SOAPUI will work.  I am currently looking into it. 
    Ravi - I'm not sure what software these steps are refering to?  Is that for XMLSpy?
    Thanks,
    Matt
    Edited by: Matthew Herbert on Dec 2, 2009 8:56 PM

  • Please help with error message invoking external service from BPEL

    Yes, I'm new to Oracle SOA Suite and BPEL Process manager. I've searched the forums, OTN, and Google and have not found any description of this error message:
    "oracle.fabric.common.FabricException: Number of SOAP body elements and parts do not match in operation: <operation-name>"
    Using JDeveloper 11.1.1.2.0 and WebLogic/SOA 10.3.2.0.
    The BPEL process was built completely using JDeveloper's graphical tools... I haven't done any raw editing of the BPEL files yet. What types of things might I possibly be doing wrong that would cause this error to occur? Any idea what two things the server is comparing and deciding that there's a mismatch? It doesn't look like it is even attempting to invoke the external service, but bailing out before that, thinking that it's going to send bad data. Below is a bit more detail.
    Also, I loaded up the WSDL (same one that I gave to JDeveloper) into SOAPUI. Then I took the payload that SOA was about to send (see below) and pasted it into SOAPUI. SOAPUI didn't complain and the target web service accepted the message and produced a "success" response. It looks like the payload is correct, so I don't know why SOA is complaining.
    Thanks for any help you can offer.
    =====================================================
    Faulted while invoking operation "UpsertEmp" on provider "SiebelUSEmployeeIntegration".
    <messages>
    <input>
    <UpsertEmpInput>
    <part name="SiebelMessage">
    <SiebelMessage>
    <ns1:USEmployment>
    <ns1:globalId>123456abcdef</ns1:globalId>
    <ns1:employeeId>000123456</ns1:employeeId>
    <ns1:effDt>1/1/2009</ns1:effDt>
    <ns1:emplStatus>A</ns1:emplStatus>
    <ns1:supported>N</ns1:supported>
    <ns1:employed>Y</ns1:employed>
    <ns1:activeStatus>Y</ns1:activeStatus>
    <ns1:hrEditOnly>Y</ns1:hrEditOnly>
    <ns1:paygroup/>
    <ns1:statusCode/>
    <ns1:origHireDate/>
    <ns1:termDate/>
    <ns1:latestHireDate/>
    <ns1:locationCode/>
    <ns1:locationDescr>Somewhere</ns1:locationDescr>
    <ns1:positionCode/>
    <ns1:jobCode/>
    <ns1:jobDescr/>
    <ns1:supervisorEmplid>000654321</ns1:supervisorEmplid>
    <ns1:deptCode>ITG</ns1:deptCode>
    <ns1:deptDescr>Information Technology Group</ns1:deptDescr>
    <ns1:ministryCode/>
    <ns1:ministryDescr>Core Services</ns1:ministryDescr>
    <ns1:subministryCode/>
    <ns1:subministryDescr>Information Technology Group</ns1:subministryDescr>
    <ns1:wwcFreeSubFlag>N</ns1:wwcFreeSubFlag>
    <ns1:lakeHartMC>1234</ns1:lakeHartMC>
    <ns1:testFlag>Y</ns1:testFlag>
    </ns1:USEmployment>
    </SiebelMessage>
    </part>
    </UpsertEmpInput>
    </input>
    <fault>
    <bpelFault>
    <faultType>
    <message>0</message>
    </faultType>
    <remoteFault>
    <part name="summary">
    <summary>oracle.fabric.common.FabricException: Number of SOAP body elements and parts do not match in operation: UpsertEmp</summary>
    </part>
    <part name="detail">
    <detail>Number of SOAP body elements and parts do not match in operation: UpsertEmp</detail>
    </part>
    </remoteFault>
    </bpelFault>
    </fault>
    <faultType>
    <message>0</message>
    </faultType>
    </messages>

    Welcome to BPEL. Take a moment, and write "it's a namespace issue" on a sheet of paper. Post it near your monitor. It won't always be a namespace issue, but it's usually a good thing to suspect first! Is the namespace prefix ns1: defined somewhere? Does your XML that is being sent really match what the WSDL has for input to the UpsertEmp operation? The namespaces for each element level in the XML need to match, not just the lowest level.
    When problems like this get really sticky, you can use TCP tunneling (obtunnel shell?) to capture what is really being sent to the server, and compare that to what is sent from SOAPUI. That's more useful if it's a subtle header problem, but you may get better error messages if you catch the BPEL message and send it using SOAPUI.
    Good Luck, Andy

  • Invoke DB Adapter inside BPEL

    Hi SOA Gurus,
    i am using 11.1.1.5.0
    Requirement is similar to
    Update Employee Sal using Web Service.
    Input Parameters
    EmpNo
    Sal
    If Sal > 10% Orig sal send for APproval.
    To achieve this need to call DB Adapter from BPEL.
    Question is can we directly invoke DB adapter from BPEL  ? or
    Should I invoke  Web Service (Ws-Mediator-DBAdapter)  inside BPEL?
    Appreciate if you can provide solution.
    Thanks,
    Kiran

    Yes, you can call directly invoke DB Adapter from BPEL, no issues with that.

  • Invoking Web Service from BPEL PM Human Task

    Hello,
    I have done the following tasks
    Create a BPel PM , Add a Human task and customized it.
    Create a Web service Proxy and Generate a Jar File from that classes like "wsCallRegions.jar".
    First issue : Where can i put my Jar File ? i don't have any WEB-INF\lib directories to add this Jar to my Webcontent on the human Task.
    Second Issue : I imported the library and all dependencies Using Jdev / import Libraries tool. But when i try to call this Web service in my Paylod-body.jsp say it does´t find the class of WS that i´m using ( I can rebuild it with no errors and deploy it to the server ), this just happen when load the payload-body.jsp page customized.
    How can i make my ant deployment description to load a Lib directories or add this jar to my human task customized ??
    can somebody help me please ?
    Many Thank,
    Vitor

    The problem is that now, with Weblogic Server the project is divided in two...
    And the import goes with the BPEL.JAR and not with EAR files to Weblogic SoaDomain.
    Someone knows where I can find some documentation about this issue ? This maybe could be a "bug" when deploying Human Tasks to Weblogic Appserver ?
    Thanks

  • SOA Suite 11.1.1.4.0 - Unable to invoke REST service from BPEL

    Hi all,
    I am trying to invoke a REST service from BPEL.
    I am supposed to call the following REST URL:
    http://apolloiserdev.corp.webex.com/ExportComplianceWS/webresources/ECCheck/emailDomainCheck/[email protected]
    In order to achieve this:
    1. I created an empty composite
    2. Added a HTTP Binding as external reference
         2.1 In the HTTP Binding wizard, I copied the above URL in 'Endpoint'
         2.2 Operation Name --> request-response
         2.3 Verb --> GET
         2.4 Created XSD for Req and resp and added those in 'Messages'
    Now, when I deploy and test this process, I get the following error messages:
    Unable to access the following endpoint(s): REPLACE_WITH_ACTUAL_URL
    Unable to access the following endpoint(s): http://apolloiserdev.corp.webex.com/ExportComplianceWS/webresources/ECCheck/emailDomainCheck/[email protected]/ExportComplianceWS/webresources/ECCheck/emailDomainCheck/[email protected]
    However, when I open the same URL using my web browser or test it using Mozilla REST client, I get a success response.
    Am I missing out something in my BPEL process?
    Regards,
    Arindam

    Not sure if this helps. But for rest based services we need to create a WSDL which has http protocol and get/post method like below
    types>
    <message name="HttpPostParamIn">
    <part name="param1" type="xsd:string"/>
    <part name="param2" type="xsd:string"/>
    </message>
    <message name="HttpPostParamOut">
    <part name="Body" element="get:Request"/>
    </message>
    <portType name="HttpPostParamPortType">
    <operation name="PostData">
    <input message="tns:HttpPostParamIn"/>
    <output message="tns:HttpPostParamOut"/>
    </operation>
    </portType>
    <binding name="HttpPostParamBinding" type="tns:HttpPostParamPortType">
    <http:binding verb="POST"/>
    <operation name="PostData">
    <http:operation location="/EchoApp/echo"/>
    <input>
    <mime:content type="application/x-www-form-urlencoded"/>
    </input>
    <output>
    <mime:mimeXml part="Body"/>
    </output>
    </operation>
    </binding>
    <service name="PostParamService">
    <port name="HttpPostParamPort" binding="tns:HttpPostParamBinding">
    <http:address location="http://localhost:7001"/>
    </port>
    </service>
    <plnk:partnerLinkType name="PostParamService">
    <plnk:role name="PostParamServiceProvider">
    <plnk:portType name="tns:HttpPostParamPortType"/>
    </plnk:role>
    </plnk:partnerLinkType>
    definitions>
    And then use this wsdl to invoke it from BPEL.like any other wsdl using partner link.

  • How to pass  soap header variable for invoking siebel service in BPEL

    Hi,
    I am invoking siebel service in soa composite. siebel service have header variables username/password and session type. I have created global variable (message type) in BPEL anddeclare same in messages port in siebel wsdl. after that I passed the username/password and session type as hard coded in assign activity. I have deployed and tested this but, I have an exception like javax.xml.ws.soap.SOAPFaultException: Error Code: 10944642 Error Message: Error: Inbound SOAP Message - Session Token is missing or invalid or has expired
    Can you please help on this..

    Hi,
    check this thread
    http://help.sap.com/saphelp_nw04/helpdata/en/71/bcf3bf2ed7e142a5011b43c288f08c/content.htm
    HTTP Header parameters in iView.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes/bc-jas/~form/handler
    May help you
    Regards,
    RK

  • Authentication with x509 Certificates.

    Hi All,
    Is it possible to authenticate an APEX application without a username/password but via the browser having an x509 certificate ?
    Can this be done ? If so, does anyone have any idea's on how it can be done ?
    Regards,
    Sunny.

    Hi All,
    Is it possible to authenticate an APEX application without a username/password but via the browser having an x509 certificate ?
    Can this be done ? If so, does anyone have any idea's on how it can be done ?
    Regards,
    Sunny.

Maybe you are looking for

  • Advantages/disadvantages,Capabilities,Failures of Types of mapping

    Dear all, Can you kindly explain me the Advantages/disadvantages,Capabilities,Failures of Types of mapping. what is the parser XSLT uses. what is differnece between sax/dom parsers. Thanks, Srinivasa

  • Save for web and devices - grayed out. Why?

    Hi. I just bought a new computer, new hard drives, etc. So, I had to reinstall Windows XP pro and all my software applications, which includes Adobe Creative Suite Design (standard edition). All loaded well and my computer is up and running nicely. o

  • REP:-1219 M_G_CS_VAlue_HDR1_has no size...length or width is zero

    Hi all, When I change a boilerplate text in a header frame, I get the above mentioned message. Your early response will be highly appreciated. Thanx, Sameen Jan

  • Get an image from a website

    I cant figure out how to get an image off of a website, is their a class that can do this?...if so could some one kindly point me to the docs of said class

  • Created Bootable drive doesn't work?

    Hello, I created a 1 TB bootable drive using Prosoft's Data Backup software, but when I boot up from it after installing it, the screen reveals a folder with a question mark on it and it remains there indefinitely. What am I doing wrong? Please advis