3 Replies Latest reply: Feb 18, 2013 11:43 PM by Veeru-Oracle RSS

    From Custom Composite calling AIA Error Handling Process

    user366389
      Hi
      I have developed a SOA Composite flow as per client requirment. This is a customized flow calling the target which is not part of AIA PIP. In this flow i want to leverage the AIA Error Handling System.
      Approach followed by me
      1. bpel flow scope i attached a Catch all block. And in that block assigned the fault variable to AIAErrorHandling Variable/FaultNotification-(Code Summary and satck )
      Do I need assign Header Infromation/Sender Information and Faultservice Details. ????
      2. Invoked the eror handling handing WSDL from MDS and then in composite i corrected the binding and lcoation.

      <reference name="AIAAsyncErrorHandlingBPELProcess"
      ui:wsdlLocation="oramds:/apps/AIAMetaData/AIAComponents/InfrastructureServiceLibrary/V1/wsdls/AIAAsyncErrorHandlingBPELProcess.wsdl">
      <interface.wsdl xmlns:ns="http://xmlns.oracle.com/sca/1.0"
      callbackInterface="http://xmlns.oracle.com/AIAAsyncErrorHandlingBPELProcess#wsdl.interface(AIAAsyncErrorHandlingBPELProcessCallback)"
      interface="http://xmlns.oracle.com/AIAAsyncErrorHandlingBPELProcess#wsdl.interface(AIAAsyncErrorHandlingBPELProcess)"/>
      <binding.ws xmlns:ns="http://xmlns.oracle.com/sca/1.0"
      location="http://hostname:8001/soa-infra/services/default/AIAAsyncErrorHandlingBPELProcess/client?WSDL"
      port="http://xmlns.oracle.com/AIAAsyncErrorHandlingBPELProcess#wsdl.endpoint(AIAAsyncErrorHandlingBPELProcess/AIAAsyncErrorHandlingBPELProcess)"/>
      </reference>

      But when i am testing for a remote error , Assign is excuted in the Catch all block but AIA Error Handling is not invoked. But checked with other REQ/Prov ABCS Projects they are calling the AIA Error handling successfully. What was the problem. Even i checked the Server logs i came to know there is some policy due to which i am not geting connected.



      <Jan 30, 2013 12:00:00 AM PHT> <Error> <oracle.wsm.resources.enforcement> <WSM-07606> <Policy {Policy[wsp:http://schemas.xmlsoap.org/ws/2004/09/policy][oralgp:http://schemas.oracle.com/ws/2006/01/loggingpolicy][provides:{http://docs.oasis-open.org/ns/opencsa/sca/200903}authentication, {http://docs.oasis-open.org/ns/opencsa/sca/200903}clientAuthentication][local-optimization:on][status:enabled][xmlns:http://schemas.xmlsoap.org/ws/2004/09/policy][Id:aia_wss_saml_or_username_or_http_token_service_policy_OPT_ON][wsu:http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd][displayName:i18n:oracle.wsm.resources.policydescription.PolicyDescriptionBundle_oracle/wss_saml_or_username_token_service_policy_PolyDispNameKey][orasp:http://schemas.oracle.com/ws/2006/01/securitypolicy][orawsp:http://schemas.oracle.com/ws/2006/01/policy][description:i18n:oracle.wsm.resources.policydescription.PolicyDescriptionBundle_oracle/wss_saml_or_username_token_service_policy_PolyDescKey][attachTo:binding.server][Name:oracle/aia_wss_saml_or_username_or_http_token_service_policy_OPT_ON][category:security][xsi:http://www.w3.org/2001/XMLSchema-instance][{LogAssertion[Logging][{AssertionBindings[{Config[name:added-from-em]}]}][{MessageLog[ Request = all][ Response =all]}]}][{XorCompositeAssertion[{Wss10SamlTokenScenario[wss10-saml-token][Silent:false][name:WSSecurity SAML Token][Enforced:true][category:security/authentication][{AssertionBindings[{Config[name:WssSamlTokenConfig][configType:declarative][{PropertySet[name:standard-security-properties][{Property[type:string][contentType:constant][name:role][Value:ultimateReceiver]}][{Property[type:string][contentType:optional][name:saml.trusted.issuers][Value:]}]}]}]}]}][{WssUsernameTokenScenario[wss-username-token][Silent:false][name:WSSecurity UserName Token][Enforced:true][category:security/authentication][{AssertionBindings[{Config[name:WssUsernameTokenConfig][configType:declarative][{PropertySet[name:standard-security-properties][{Property[type:string][contentType:constant][name:role][Value:ultimateReceiver]}]}]}]}]}][{HttpSecurityScenario[http-security][Silent:false][name:WSSecurity HTTP Token][Enforced:true][description:SOAP binding level policy for http authentication][category:security/authentication][{AssertionBindings[{Config[name:HttpConfig][configType:declarative][{PropertySet[name:standard-security-properties][{Property[type:string][contentType:constant][name:realm][Value:]}][{Property[type:string][contentType:constant][name:role][Value:]}]}]}]}]}]}][{LogAssertion[Logging][{AssertionBindings[{Config[name:added-from-em]}]}][{MessageLog[ Request = all][ Response =all]}]}]}} execution failure.>
      <Jan 30, 2013 12:00:00 AM PHT> <Error> <oracle.wsm.resources.enforcement> <WSM-07502> <Failure in Oracle WSM Agent processResponse, category= security, function=agent.function.service, application=soa-infra, composite=AIAAsyncErrorHandlingBPELProcess, modelObj=AIAAsyncErrorHandlingBPELProcess, policy={5}, policyVersion={6}, assertionName={7}.>
      <Jan 30, 2013 12:00:00 AM PHT> <Error> <oracle.webservices.jaxws> <BEA-000000> <Error while invoking endpoint "http://HOSTNAME:8001/soa-infra/services/default/UpdateVoucherUsuage!1.0*soa_4ff1c5a4-4200-46d2-a441-0ed78a36c432/AIAAsyncErrorHandlingBPELProcess%23UpdateVoucherUsuage/AIAAsyncErrorHandlingBPELProcess" from client; Security Subject: anonymous>
      <Jan 30, 2013 12:00:00 AM PHT> <Error> <oracle.integration.platform.blocks.soap> <BEA-000000> <Unable to dispatch request to http://HOSTNAME:8001/soa-infra/services/default/AIAAsyncErrorHandlingBPELProcess/client due to exception
      javax.xml.ws.WebServiceException: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Bad response: 403 Forbidden from url http://HOSTNAME:8001/soa-infra/services/default/AIAAsyncErrorHandlingBPELProcess/client
           at oracle.j2ee.ws.client.jaxws.DispatchImpl.invokeOneWay(DispatchImpl.java:1171)



      Please can you help what i am missing in it. Do i need to attach a policy ??? or Do we have any documents to attach AIA Error handling Process to a normal Composite other than PIP Flows.


      Thanks in Advance,
      Venugopal SSS RAJA

      Edited by: user8650285 on Jan 29, 2013 8:36 PM

      Edited by: user8650285 on Jan 29, 2013 9:30 PM
        • 1. Re: From Custom Composite calling AIA Error Handling Process
          user366389
          Done doing the same process mentioned in the doc.
          http://docs.oracle.com/cd/E21764_01/doc.1111/e17364/configerrhandl.htm#CFAJHFFD


          Though i dont use EBO/EBM in my flow .. I mapped the fault message just liek EBMtoFault.xsl .....covered all mappigs which are mentioned as per handling a business fault internally.
          But was getting an error. Any Policy am i am missing if so ? hwo cna configure it. ???
          • 2. Re: From Custom Composite calling AIA Error Handling Process
            user366389
            My Invoke Input message to AIA Error Handling -> invoking error handler.
            <Invoke_AIAAsyncErrorHandlingBPELProcess_InputVariable>
            -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="FaultMessage">
            -<Fault xmlns="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
            -<EBMReference>
            <EBMID>290030</EBMID>
            <EBMName>UpdateVoucherUsuage</EBMName>
            <EBOName>UpdateVoucherUsuage</EBOName>
            <VerbCode>Update</VerbCode>
            -<BusinessScopeReference>
            <ID>270034</ID>
            <InstanceID>270034</InstanceID>
            <EnterpriseServiceName>UpdateoucherUsuage</EnterpriseServiceName>
            <EnterpriseServiceOperationName>UpdateVoucherUsuage</EnterpriseServiceOperationName>
            </BusinessScopeReference>
            -<SenderReference>
            <ID>UpdateVoucherUsuage</ID>
            <SenderMessageID>290030</SenderMessageID>
            <ObjectCrossReference/>
            <Application/>
            </SenderReference>
            </EBMReference>
            <B2BMReference/>
            -<FaultNotification>
            <ReportingDateTime>2013-01-30T16:33:18+08:00</ReportingDateTime>
            -<FaultMessage>
            <Code xmlns:def="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="def:string"/>
            <Text xmlns:def="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="def:string"/>
            <Stack xmlns:def="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="def:string"/>
            <IntermediateMessageHop/>
            </FaultMessage>
            -<FaultingService>
            <ID>UpdateVoucherUsuage</ID>
            <ImplementationCode>BPEL</ImplementationCode>
            <InstanceID>270034</InstanceID>
            <ExecutionContextID>5b54d0399b515e7f:31188dde:13c8a091e51:-8000-0000000000007af5</ExecutionContextID>
            </FaultingService>
            </FaultNotification>
            </Fault>
            </part>
            </Invoke_AIAAsyncErrorHandlingBPELProcess_InputVariable>

            Hey i disabled the policy that was attached to AIAAsyncErrorHandling and now i was able to succeed. So there is nothing wrong in my code. But in general all pip flows are calling aia asyncError handling with the policy - oracle/aia_wss_saml_or_username_or_http_token_service_policy_OPT_ON

            i want to attach this policy and then only i can send my messages to my AIA Error handling how can i do that ??? Please Provide Documentation for it.
            Please provide the doc link for enabling the policy - oracle/aia_wss_saml_or_username_or_http_token_service_policy_OPT_ON to my composite.

            Thanks,
            Venu

            Edited by: user8650285 on Jan 30, 2013 12:23 AM
            • 3. Re: From Custom Composite calling AIA Error Handling Process
              Veeru-Oracle
              You can refer to the AIA security policies @ http://docs.oracle.com/cd/E17904_01/doc.1111/e17364/security.htm#CDDCJJID
              To attach a new policy to your composite you can use em console and then click on your composite and then use the policies tab to attach a new policy.