Mediator Properties

Hi
I am trying to build a composite application which has a File Adapter to read the xml files, a Mediator and B2B for Outbound transmission.
I am setting up following properties in Mediator.
expression : 'b2b1'     property : b2b.fromTradingPartnerId
expression : 'b2b2'     property : b2b.toTradingPartnerId
expression : 'Custom'     property : b2b.documentProtocolName
expression : '1.0'     property : b2b.documentProtocolVersion
expression : 'Xml'     property : b2b.documentTypeName
expression : 'AS2 Identifier'     property : b2b.fromTradingPartnerIdType
expression : 'AS2 Identifier'     property : b2b.toTradingPartnerIdType
The Sender shows me all properties correctly set in Reports. The same document is configured on receiver side which is also a B2B. The receiver does show the file but throws Document protocol identification error. The receiver fails to identify Sender, document protocol version etc. The Sender receives back Ack for unexpected processing error.
If it works correctly I want to make it a bit general by reading FROM_PARTY and TO_PARTY from my Xml file in Mediator.
Thanks
Punit
Thanks

Punit,
The receiver does show the file but throws Document protocol identification errorMake sure that at receiving side, you have populated identification xpath in the document definition correctly.
Regards,
Anuj

Similar Messages

  • Creating Mediator header properties or Mediator variables.

    I want to store values obtained from the synchronous reply from the service to some mediator properties or variables, so that next sequential service call can utilize the values from those variables.
    How do I add such a variable.?

    You need to store this value outside mediator, ex file and retrieve values. Mediator is not intended to store any values.

  • Regarding Mediator Component Instance Details

    Hi, i have used file adapter for read and write operation with mediator for the transformation purpose.I get my payload at the output but when i see the mediator instance details at em console window i couldn't see the payload.I only get two tabs one is Audit Trail and other one is Faults. Under Audit Trail i get the option "Expand the : onMessage" but payload is not displayed.Is there any configuration or setting that i need to do so that i could verify my payload at the mediator instance details.
    Regards,
    Saif

    Check the Audit level setting in SOA Infra -> SOA Administration -> Mediator properties (in EM console). If the Audit Level is set to Production, the payload details will not be available in audit trail. Change it to 'Development'.

  • Passing properties to mediator service from soap - ui

    Hi,
    I have a composite A which has a mediator component A1 in it.
    This mediator will be called by some external BPEL/OSB service.
    Whenever i see an instance of the mediator i see certain properties / headers in the input payload to the mediator.
    These are not passed by default, however they do come.
    I want to know how can i ovverrride/pass these values when i am calling this mediator service from soap-ui
    Thanks,
    Rosh

    Can you please paste here the properties expected by mediator?

  • Check for Null in Mediator Static Routing filter

    Using Expression Builder for Mediator component how can I check the values for NULL in a particular XML element. In my case the XSD is
    <xs:complexType name="OdsCadDataSet">
    <xs:choice>
    <xs:element name="odsCadCase" type="OdsCadCase" minOccurs="0"
    maxOccurs="1"/>
    <xs:element name="odsCadEvent" type="OdsCadEvent" minOccurs="0"
    maxOccurs="1"/>
    <xs:element name="odsCadUnitStatus" type="OdsCadUnitStatus"
    minOccurs="0" maxOccurs="1"/>
    </xs:choice>
    </xs:complexType>
    I want to check in expression builder of mediator whether odsCase, odsCadEvent, odsCadUnitStatus is been processed. I have three static routing for each element and plan to put filter which checks is odsCadCase is null and so forth. How to have this use case.
    Thanks
    Edited by: user5108636 on 28/06/2010 00:15

    helo, i have same problem here...
    I have a xsd:choice on request like this:
    <message>
    <properties>
    <property name="tracking.compositeInstanceId" value="80003"/>
    <property name="tracking.ecid" value="0000J1MQVAZBDC^5lVg8yZ1DtZWJ000T5r"/>
    <property name="transport.http.remoteAddress" value="10.106.17.137"/>
    </properties>
    <parts>
    <part name="request">
    <ns1:parametrosConsultaGuia>
    <ns1:guiaCompensacaoRequest>
    <ns1:anoGuia>2011</ns1:anoGuia>
    <ns1:numeroGuia>314</ns1:numeroGuia>
    <ns1:codigoFatoGerador>6</ns1:codigoFatoGerador>
    <ns1:codigoPorte>77011</ns1:codigoPorte>
    </ns1:guiaCompensacaoRequest>
    <ns1:guiaComplementarRequest>
    <ns1:codigoEntidade/>
    <ns1:classeEmbarcacao/>
    <ns1:codigoPorte/>
    <ns1:codigoAssunto/>
    <ns1:fatoGerador/>
    <ns1:numeroTransacaoInternet/>
    </ns1:guiaComplementarRequest>
    <ns1:guiaDesarquivamentoRequest>
    <ns1:codigoAssunto/>
    <ns1:idPessoa/>
    </ns1:guiaDesarquivamentoRequest>
    <ns1:guiaDividaAtivaRequest>
    <ns1:numeroDebito/>
    <ns1:codigoUsuario/>
    </ns1:guiaDividaAtivaRequest>
    <ns1:guiaNormalRequest>
    <ns1:codigoEntidade/>
    <ns1:codigoAssunto/>
    <ns1:fatoGerador/>
    <ns1:numeroTransacaoInternet/>
    </ns1:guiaNormalRequest>
    <ns1:guiaReferenciaRequest>
    <ns1:numeroGuiaPai/>
    <ns1:anoGuiaPai/>
    <ns1:codigoEntidade/>
    <ns1:classeEmbarcacao/>
    <ns1:codigoAssunto/>
    </ns1:guiaReferenciaRequest>
    <ns1:guiaRemanescenteRequest>
    <ns1:numeroDebito/>
    <ns1:codigoUsuario/>
    </ns1:guiaRemanescenteRequest>
    <ns1:guiaMultaRequest>
    <ns1:codigoEntidade/>
    <ns1:dataVencimento/>
    <ns1:valorMulta/>
    <ns1:percentualDesconto/>
    <ns1:percentualAcrescimo/>
    </ns1:guiaMultaRequest>
    </ns1:parametrosConsultaGuia>
    </part>
    </parts>
    </message>
    I tried everything to check if some of the requests are filled but allways mediator returns null:
    03/06/2011 13:50:42MensagemEvaluation of xpath condition "string-length($in.request/guia:guiaRequest/guia:parametrosConsultaGuia/guia:guiaReferenciaRequest) > 0" resulted false
    <payload>
    Atividade03/06/2011 13:50:42MensagemonCase "GuiaCompensacao.getGuiaCompensacao"
    03/06/2011 13:50:42MensagemEvaluation of xpath condition "$in.request/guia:guiaRequest/guia:parametrosConsultaGuia/guia:guiaCompensacaoRequest != ''" resulted false
    <payload>
    Atividade03/06/2011 13:50:42MensagemonCase "GuiaRemanescenteService.getGuiaRemanescente"
    03/06/2011 13:50:42MensagemEvaluation of xpath condition "string-length($in.request/guia:guiaRequest/guia:parametrosConsultaGuia/guia:guiaRemanescenteRequest) > 0" resulted false
    <payload>
    Atividade03/06/2011 13:50:42MensagemonCase "GuiaMultaService.gerarBoleto"
    03/06/2011 13:50:42MensagemEvaluation of xpath condition "string-length($in.request/guia:guiaRequest/guia:parametrosConsultaGuia/guia:guiaMultaRequest) > 0" resulted false
    <payload>
    Atividade03/06/2011 13:50:42MensagemonCase "GuiaDividaAtiva.getGuiaDividaAtiva"
    03/06/2011 13:50:42MensagemEvaluation of xpath condition "string-length($in.request/guia:guiaRequest/guia:parametrosConsultaGuia/guia:guiaDividaAtivaRequest) > 0" resulted false
    <payload>
    Atividade03/06/2011 13:50:42MensagemonCase "GuiaDesarquivamento.getGuiaDesarquivamento"
    03/06/2011 13:50:42MensagemEvaluation of xpath condition "string-length($in.request/guia:guiaRequest/guia:parametrosConsultaGuia/guia:guiaDesarquivamentoRequest) > 0" resulted false
    <payload>
    Atividade03/06/2011 13:50:42MensagemonCase "GuiaComplementarService.gerarBoleto"
    03/06/2011 13:50:42MensagemEvaluation of xpath condition "string-length($in.request/guia:guiaRequest/guia:parametrosConsultaGuia/guia:guiaComplementarRequest) > 0" resulted false
    <payload>
    Atividade03/06/2011 13:50:42MensagemonCase "GuiaNormalService.gerarBoleto"
    03/06/2011 13:50:42MensagemEvaluation of xpath condition "string-length($in.request/guia:guiaRequest/guia:parametrosConsultaGuia/guia:guiaNormalRequest) > 0" resulted false
    <payload>

  • Using fault-policies with mediator and db Adapter doesn't work

    Please help! I'm stuck on this for 2 days....
    Hi Friends.
    In my project I am trying to give some treatment to an exception from a db adapter running a pl/sql procedure.
    I am forcing a raise_application_error in the procedure in order to treat the exception and I'd like the fault-police to treat it as "human-intervention".
    The db-adapter is wired to a mediator:
    jms-service ----> Mediator -----> Jca db adapter
    When I get the exception the log says:
    9d8bff56a1 due to: BINDING.JCA-12563[[
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'PersistirODS' failed due to: Stored procedure invocation error.
    Error while trying to prepare and execute the FORNECEDOR.UPSERTFORNECEDOR API.
    An error occurred while preparing and executing the FORNECEDOR.UPSERTFORNECEDOR API. Cause: java.sql.SQLException: ORA-20101: Deu Merda
    ORA-06512: at "FORNECEDOR.UPSERTFORNECEDOR", line 405
    ORA-06512: at line 1
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API.  This exception is considered not retriable, likely due to a modelling mistake.  To classify it as retriable instead add property nonRetriableErrorCodes with value "-20101" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    and then it looks like it's trying to run some fault-police but it says:
    [2014-04-10T20:01:39.667-03:00] [AdminServer] [WARNING] [] [oracle.integration.platform.faulthandling] [tid: Workmanager: , Version: 0, Scheduled=false, Started=false, Wait time: 0 ms\n] [userId: weblogic] [ecid: 11d1def534ea1be0:-1fa77a00:145468d59e7:-8000-000000000002801a,0] [APP: soa-infra]  [RejectedMsgHandling]Unable to apply policies on the rejected message with id - 60046[[
    oracle.fabric.common.FabricException: Cannot resolve binding to a fault policy [Faulted Activity Details:
    Activity Name=null
    Activity Id=null
    Activity lineNumber=null
    Reference Name=null
    WsdlLocation=null
    ActivityType=null
    Here are my fault-policies and fault-bindings files:
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicyBindings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xsi:schemaLocation="http://schemas.oracle.com/bpel/faultpolicy ../xsd/FaultBindings.xsd"
                         xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <composite faultPolicy="fault-policy"/>
    </faultPolicyBindings>
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicies xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://schemas.oracle.com/bpel/faultpolicy ../xsd/FaultPolicies.xsd"
                   xmlns="http://schemas.oracle.com/bpel/faultpolicy">
      <faultPolicy id="fault-policy">
        <Conditions>
          <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults"
    name="medns:mediatorFault"  >
            <condition>
              <action ref="default-human-intervention"/>
            </condition>
          </faultName>
          <faultName xmlns:rjm="http://schemas.oracle.com/sca/rejectedmessages" name="rjm:PersistirODS">
            <condition>
              <action ref="default-human-intervention"/>
            </condition>
          </faultName>
          <faultName>
            <condition>
              <action ref="default-human-intervention"/>
            </condition>
          </faultName>
        </Conditions>
        <Actions>
          <Action id="default-human-intervention">
            <humanIntervention/>
          </Action>
        </Actions>
      </faultPolicy>
    </faultPolicies>
    Again
    Please help! I'm stuck on this for 2 days....

    Could you try specifying test element inside condition like the following one
        <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:mediatorFault">
            <condition>
             <test>contains($fault.mediatorErrorCode, "AppropriateErrorCode")</test>
              <action ref="default-human-intervention"/>
            </condition>
          </faultName>

  • How to set the SOAP Header while publishing to Queue in the mediator

    Hi,
    I am trying to publish the message to a JMS AQ, from the Mediator service in the 11g Soa Suite. I want to add some properties as SOAP Header to the message and send it to the JMS AQ. I have seen the mediator process calling BPEL process, passing the SOAP Header values. In the BPEL process, we have the section <soap:binding> inside that I can give the <soap:header>and set the values.
    Could any one tell me how to do this in Mediator service which is calling the JMS AQ using adapter?
    Thanks,

    The solution in this thread is for VS .NET as this is the forum for CR in .NET.
    With Foxpro, I suspect you want to create a new thread in the SAP Crystal Reports - Legacy SDKs forum.
    Make sure you specify the exact version of CR used.
    - Ludek

  • Fault handling for Mediator component

    I am trying to capture all the system and business faults of the composite and email the details to system groups. I am having issues with the fault policy file and get the following error. My Composite is made up of Web Services ---> Mediator ---->DBAdapter
    INFO: FaultPoliciesParser.parsePolicies ------->Begin Parsing of policy file
    <Jun 18, 2012 3:48:58 PM EST> <Error> <oracle.soa.mediator.common.error.recovery> <BEA-000000> <Failed to recover the mediator fault.
    oracle.fabric.common.FabricException: Missing fault policy: TESTFaultPolicy
    at oracle.integration.platform.faultpolicy.RecoverFault.resolveToActionRef(RecoverFault.java:101)
    at oracle.integration.platform.faultpolicy.FaultRecoveryManagerImpl.resolveToActionRef(FaultRecoveryManagerImpl.java:151)
    at oracle.tip.mediator.common.error.recovery.MediatorRecoveryHandler.resolveToActionRef(MediatorRecoveryHandler.java:158)
    at oracle.tip.mediator.common.error.ErrorMessageEnqueuer.enqueue(ErrorMessageEnqueuer.java:174)
    at oracle.tip.mediator.dispatch.db.DeferredDBWorker.handleError(DeferredDBWorker.java:117)
    at oracle.tip.mediator.common.listener.DBWorker.process(DBWorker.java:114)
    at oracle.tip.mediator.common.listener.AbstractWorker.run(AbstractWorker.java:83)
    at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
    at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
    at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
    I am attaching the following files
    FAULT-POLICIES.XML*
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <faultPolicy version="2.0.1" id="TESTFaultPolicy">
    <Conditions>
    <faultName>
    <condition>
    <action ref="ora-java"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-java">
    <javaAction className="test.EmailFaultHandler"
    defaultAction="ora-human-intervention">
    </javaAction>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    FAULT-BINDINGS.XML_
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicyBindings version="2.0.1"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <composite faultPolicy="TESTFaultPolicy"/>
    <component faultPolicy=" TESTFaultPolicy">
    <name>HandleRealTimeRequests</name>
    </component>
    </faultPolicyBindings>
    I am yet to figure out how to capture the fault and email to the groups in EmailFaultHandler.java file below
    EmailFaultHandler.java_
    package test;
    import com.collaxa.cube.engine.fp.BPELFaultRecoveryContextImpl;
    import java.util.Map;
    import oracle.integration.platform.faultpolicy.IFaultRecoveryContext;
    import oracle.integration.platform.faultpolicy.IFaultRecoveryJavaClass;
    public class EmailFaultHandler implements IFaultRecoveryJavaClass {
    public void handleRetrySuccess(IFaultRecoveryContext iFaultRecoveryContext) {
    public String handleFault(IFaultRecoveryContext iFaultRecoveryContext) {
    //Print Fault Meta Data to Console
    System.out.println("****************Fault Metadata********************************");
    System.out.println("Fault policy id: " + iFaultRecoveryContext.getPolicyId());
    System.out.println("Fault type: " + iFaultRecoveryContext.getType());
    System.out.println("Partnerlink: " + iFaultRecoveryContext.getReferenceName());
    System.out.println("Port type: " + iFaultRecoveryContext.getPortType());
    System.out.println("**************************************************************");
    //print all properties defined in the fault-policy file
    System.out.println("Properties Set for the Fault");
    Map props = iFaultRecoveryContext.getProperties();
    for (Object key: props.keySet())
    System.out.println("Key : " + key.toString() + " Value : " + props.get(key).toString());
    //Custom Code to Log Fault to File/DB/JMS or send Emails etc.
    return "Manual";
    Please suggest
    Thanks
    Edited by: user5108636 on 18/06/2012 00:20
    Edited by: user5108636 on 18/06/2012 00:20

    By the way, I managed to break through a little further. Now I am past this fault policy error. However, the java fault handler class is giving ClassNotFoundException. The way I added the java file (test.EmailFaultHandler) through JDeveloper in the composite project (Right click --> New ---> Java file). How do I add this to the classpath. I thought it automatically gets added to the SOA composite project classpath.
    Please suggest.
    INFO: FaultPoliciesParser.parsePolicies ------->Begin Parsing of policy file
    <Jun 19, 2012 10:58:01 AM EST> <Warning> <oracle.soa.mediator.monitor> <BEA-000000> <Venkat:Inside Synchronized block with msg id :CCA40B60B9A911E1BF115F9190ABA14C>
    <Jun 19, 2012 10:58:01 AM EST> <Warning> <oracle.soa.mediator.monitor> <BEA-000000> <Venkat:Inside Synchronized block with msg id :CCA40B60B9A911E1BF115F9190ABA14C>
    <Jun 19, 2012 10:58:01 AM EST> <Warning> <oracle.soa.mediator.monitor> <BEA-000000> <Venkat:Inside Synchronized block with msg id :CCA40B60B9A911E1BF115F9190ABA14C>
    <Jun 19, 2012 10:58:01 AM EST> <Error> <oracle.soa.mediator.common.listener> <BEA-000000> <Enququeing to Error hospital successful...>
    <Jun 19, 2012 10:58:05 AM EST> <Error> <oracle.soa.mediator.common.error.recovery> <BEA-000000> <Error while loading "test.EmailFaultHandler" java class specified for action "ora-java".>
    <Jun 19, 2012 10:58:05 AM EST> <Error> <oracle.soa.mediator.common.error.recovery> <BEA-000000> <Failed to recover the mediator fault.
    java.lang.ClassNotFoundException: test.EmailFaultHandler
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43)
    at oracle.tip.mediator.common.error.recovery.CustomJavaHandler.execute(CustomJavaHandler.java:69)
    at oracle.tip.mediator.common.error.recovery.MediatorRecoverFault.recover(MediatorRecoverFault.java:73)
    at oracle.tip.mediator.serviceEngine.MediatorFacadeService.recoverFault(MediatorFacadeService.java:988)
    at oracle.integration.platform.faultpolicy.RecoverFault.recoverAndChain(RecoverFault.java:161)
    at oracle.integration.platform.faultpolicy.RecoverFault.resolveAndRecover(RecoverFault.java:124)
    at oracle.integration.platform.faultpolicy.FaultRecoveryManagerImpl.resolveAndRecover(FaultRecoveryManagerImpl.java:123)
    at oracle.tip.mediator.common.error.recovery.MediatorRecoveryHandler.recover(MediatorRecoveryHandler.java:116)
    at oracle.tip.mediator.common.error.ErrorDBWorker.handleMessage(ErrorDBWorker.java:37)
    Thanks

  • Can SOA 11g fault policy handle XSD Validation errors from the Mediator?

    I would like all errors in my SOA process to go through the fault-policies.xml. But I don't seem to be able to catch any mediator error caused by an XSD validation failure. A sample of the sort of error I am trying to 'catch' is:
    Nonrecoverable System Fault          oracle.tip.mediator.infra.exception.MediatorException: ORAMED-01303:[Payload default schema validation error]XSD schema validation fails with error Invalid text 'A' in element: 'TermCode'Possible Fix:Fix payload and resubmit.
    My fault-policies.xml file is as follows:
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <faultPolicy version="2.0.1"
         id="NewStudentRegistrationFaults"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Conditions>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:1303">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:rjm="http://schemas.oracle.com/sca/rejectedmessages" name="rjm:GetNewStudentRegistrationFile">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:TYPE_ALL">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:mediatorException">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:bindingFault">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:remoteFault">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="java-fault-handler">
    <javaAction className="edu.villanova.soa.handlers.FaultNotificationHandler"
    defaultAction="ora-human-intervention" propertySet="faultNotificationProps">
    <returnValue value="OK" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    <!-- Human Intervention -->
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <!-- Terminate -->
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    <!-- Property sets used by custom Java actions -->
    <Properties>
    <!-- Property set for FaultNotificationHandler customer java action -->
    <propertySet name="faultNotificationProps">
    <property name="from">[email protected]</property>
    <property name="to">[email protected]</property>
    <property name="subject">Reporting a SOA fault</property>
    </propertySet>
    </Properties>
    </faultPolicy>
    <faultPolicy version="2.0.1"
         id="MediatorFaults"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Conditions>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:1303">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="java-fault-handler">
    <javaAction className="edu.villanova.soa.handlers.FaultNotificationHandler"
    defaultAction="ora-human-intervention" propertySet="faultNotificationProps">
    <returnValue value="OK" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    <!-- Human Intervention -->
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <!-- Terminate -->
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    <!-- Property sets used by custom Java actions -->
    <Properties>
    <!-- Property set for FaultNotificationHandler customer java action -->
    <propertySet name="faultNotificationProps">
    <property name="from">[email protected]</property>
    <property name="to">[email protected]</property>
    <property name="subject">Reporting a SOA rejected msg. fault</property>
    </propertySet>
    </Properties>
    </faultPolicy>
    </faultPolicies>
    My fault-bindings.xml file is as follows:
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicyBindings version="2.0.1"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <composite faultPolicy="NewStudentRegistrationFaults"/>
    <component faultPolicy="MediatorFaults">
    <name>NewStudentRegistrationMediator</name>
    </component>
    <service faultPolicy="NewStudentRegistrationFaults">
    <name>GetNewStudentRegistrationFile</name>
    </service>
    </faultPolicyBindings>
    You'll notice that I've tried a number of ways (and various other combinations) to try to steer the error above into my Java fault handler but nothing has meet with success. The mplan is as follows:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <!--Generated by Oracle SOA Modeler version 1.0 at [2/3/10 1:21 PM].-->
    <Mediator name="NewStudentRegistationMediator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/sca/1.0/mediator"
    wsdlTargetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/Experiments/NewStudentRegistration/GetNewStudentRegistrationFile%2F">
    <operation name="Get" deliveryPolicy="AllOrNothing" priority="4"
    validateSchema="true">
    <switch>
    <case executionType="queued" name="RegToBanner.insert_2">
    <action>
    <transform>
    <part name="$out.NewstudentregistrationCollection"
    function="xslt(xsl/NewStudentRegistration_To_NewstudentregistrationCollection.xsl, $in.body)"/>
    </transform>
    <invoke reference="RegToBanner" operation="insert"/>
    </action>
    </case>
    </switch>
    </operation>
    </Mediator>
    I'm a newbie to Oracle SOA. So perhaps I am missing the obvious. But I haven't read much in the documentation specifically about using the XSD validation option on the mediator and have seen nothing specifically about catching this sort of exception in the fault policy (apart from the faults I already have in my policy). Can anyone suggest what I am doing incorrectly here or perhaps whether what I am attempting to do is not possible? Thanks.
    - Cris

    Has anyone got it working yet?
    In my case, I have the following sequence:
    FileAdapter -> Mediator1 -> Mediator2->DB Adapter
    I am deliberately introducing validation error in File. Isn't it correct to assume Fault framework would get triggered at Mediator1 level since we are invoking FileAdapter service?
    I am getting a strange behaviour. If I enable XSD validation at Mediator1 level, process is Faulted with no re-try option. However, if I enable XSD validation ONLY at Mediator2 level, I get Recoverable fault. There seems to be some disconnect between documentation and reality. I am using JDeveloper 11.1.1.3.0 version and SOA Suite 11g.
    Thanks,
    Amjad.

  • Mediator 11.1.1.5 faults Java Handler not getting called fault-policies

    Hi,
    I have a Oracle SOA 11.1.1.5 Mediator and am handling the faults using fault policies but somehow custom java handler is not invoked when an error occurs and this is what I see in the log but somehow my custom java handler class is not getting called.
    INFO: FaultPoliciesParser.parsePolicies ------->Begin Parsing of policy file
    <Apr 16, 2012 10:30:17 PM EDT> <Error> <oracle.soa.mediator.common.listener> <BE
    A-000000> <Enququeing to Error hospital successful...>Here is the fault-policies.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
      <faultPolicy version="2.0.1" id="medFaultHandling"
                   xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
                   xmlns:xs="http://www.w3.org/2001/XMLSchema"
                   xmlns="http://schemas.oracle.com/bpel/faultpolicy"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <Conditions>
          <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
                     name="bpelx:remoteFault">
            <condition>
              <action ref="java-fault-handler"/>
            </condition>
          </faultName>
          <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
                     name="bpelx:bindingFault">
            <condition>
              <action ref="java-fault-handler"/>
            </condition>
          </faultName>
          <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
                     name="bpelx:runtimeFault">
            <condition>
              <action ref="java-fault-handler"/>
            </condition>
          </faultName>
        </Conditions>
        <Actions>
          <Action id="java-fault-handler">
            <javaAction className="com.mediator.faults.CustomMediatorFaultHandler"
                        defaultAction="ora-human-intervention" propertySet="myMediatorProps">
              <returnValue value="OK" ref="ora-human-intervention"/>
            </javaAction>
          </Action>
          <Action id="ora-human-intervention">
            <humanIntervention/>
          </Action>
          <Action id="ora-rethrow-fault">
            <rethrowFault/>
          </Action>
          <Action id="ora-retry">
            <retry>
              <retryCount>3</retryCount>
              <retryInterval>15</retryInterval>
              <exponentialBackoff/>
              <retryFailureAction ref="java-fault-handler"/>
            </retry>
          </Action>
        </Actions>
        <Properties>
          <propertySet name="myMediatorProps">
            <property name="logFileName">mediator-faults.log</property>
            <property name="logFileDir">C:/software</property>
          </propertySet>
        </Properties>
      </faultPolicy>
    </faultPolicies>Here is my the fault-bindings.xml:
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicyBindings version="2.0.1"
                         xmlns="http://schemas.oracle.com/bpel/faultpolicy"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <composite faultPolicy="medFaultHandling"/>
    </faultPolicyBindings>And here is the snippet of composite.xml where I put the below properties:
    <component name="Router">
        <implementation.mediator src="Router.mplan"/>
        <property name="oracle.composite.faultPolicyFile">fault-policies.xml></property>
        <property name="oracle.composite.faultBindingFile">fault-bindings.xml></property>
      </component>But when the exception occurs I don't see my custom Java Handler being invoked. As I created a jar file and placed it in
    *<Middleware_Home>\Oracle_SOA1\soa\modules\oracle.soa.mediator_11.1.1*
    and updated oracle.soa.mediator.jar manifest by putting the path of the jar file. Restarted the servers but still when an exception occurs in Mediator custom java handler is not invoked. Any ideas what I am missing or are there any special steps
    Thanks

    There is no point in retry on binding fault, rather you can raise it as exception and catch it in sepcific catch block or catch all will handle it.
    Ideally this particular instance will be faulted and if required you can customize to send a mail with fault string to developer or support person or dba
    This type of fault need human intervension to fix this code or it could be data issue.
    - It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Thanks,
    Vijay

  • Throw back same adapter fault - Mediator only composite

    Hi
    How are you doing!
    I have a scenario where there is a Mediator and DBAdapter.
    We are using fault policy to handle all faults.
    Whenever there is a fault in DBAdapter, when handled using fault policy (to rethrow fault), Mediator is wrapping the original fault and giving its own fault(message below)
    Is there a way to get back the same DBAdapter fault as the consumer of this service has to know what is the exact fault.
    Please note that BPEL is not to be used in this case(as a design decision in the project), so this has to be achieved only using the Mediator.
    I've also tried adding fault to WSDL's of DBAdapter and Exposed service WSDL manually, but no luck.
    Converted fault message
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
       <env:Header/>
       <env:Body>
          <env:Fault>
             <faultcode>env:Server</faultcode>
             <faultstring>oracle.tip.mediator.infra.exception.MediatorException: ORAMED-03303:[Unexpected exception in case execution]Unexpected exception in request response operation "insert" on reference "ParentChildDBAdapter". Possible Fix:Check whether the reference service is properly configured and running or look at exception for analyzing the reason or contact Oracle Support Services.</faultstring>
             <faultactor/>
             <detail>
                <exception/>
             </detail>
          </env:Fault>
       </env:Body>
    </env:Envelope>
    But the actual DBAdapter fault is
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
       <env:Header/>
       <env:Body>
          <env:Fault>
             <faultcode>env:Server</faultcode>
             <faultstring>Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: DBWriteInteractionSpec Execute Failed Exception.
    insert failed. Descriptor name: [ParentChildDBAdapter.PocComplaints].
    Caused by java.sql.BatchUpdateException: ORA-00001: unique constraint (SOADEMO.POC_PRTCMP_PK) violated
    Please see the logs for the full DBAdapter logging output prior to this exception.  This exception is considered not retriable, likely due to a modelling mistake.  To classify it as retriable instead add property nonRetriableErrorCodes with value "-1" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.</faultstring>
             <faultactor/>
             <detail>
                <exception>ORA-00001: unique constraint (SOADEMO.POC_PRTCMP_PK) violated</exception>
             </detail>
          </env:Fault>
       </env:Body>
    </env:Envelope>
    Appreciate if you could help me on this
    Regards
    RaviKiran

    http://www.apple.com/feedback
    request here we are just users non of us are apple workers apart from the mod
    who dont pass on posts from this forum to apples pm's

  • Fault frame work in mediator

    Hi all,
    Can any one suggest me how to invoke a java class in faultpolicies for mediator. I am using a WebService--> mediator(Parallel)--> fileAdapter. My fault policies file looks like this
    <?xml version='1.0' encoding='UTF-8'?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <faultPolicy version="2.0.1" id="StandardFaults" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.oracle.com/bpel/faultpolicy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Conditions>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults"
    name="medns:mediatorFault">
    <condition>
    <test>contains($fault.mediatorErrorCode, "TYPE_ALL")</test>
    <action ref="ora-retry"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-retry">
    <retry>
    <retryCount>3</retryCount>
    <retryInterval>2</retryInterval>
    <exponentialBackoff/>
    <retryFailureAction ref="java-fault-handler"/>
    <retrySuccessAction ref="ora-terminate"/>
    </retry>
    </Action>
    <Action id="java-fault-handler">
    <javaAction className="EmailGeneration.MailNotification" defaultAction="ora-replay-scope" propertySet="properties">
    <returnValue value="bindingFault" ref="ora-human-intervention"/>
    <returnValue value="remoteFault" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <Action id="ora-replay-scope">
    <replayScope/>
    </Action>
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    <Properties>
    <propertySet name="properties">
    <property name="from">[email protected]</property>
    <property name="to">[email protected]</property>
    <property name="cc">[email protected]</property>
    <property name="host">EXC-01-112.dynamite.ca</property>
    <property name="port">25</property>
    </propertySet>
    </Properties>
    </faultPolicy>
    </faultPolicies>
    My fault policies are triggered when a error is generated , but the problem is it's not invoking my custom java class , the process is going into Human intervention automatically. Is there any different procedure for mediator fault handling? please help

    <javaAction className="EmailGeneration.MailNotification" defaultAction="ora-replay-scope" propertySet="properties">Make sure the class name is correct (should include package name as well) and class is loaded in the CLASSPATH. To understand that how to place the class in the CLASSPATH, please refer section "14.3 Adding Custom Classes and JAR Files" at -
    http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_java.htm#CHDFFEFB
    Regards,
    Anuj

  • Mediator To Spring Error-Could not convert from java interface to interface

    Hi,
    I have a requirement to using a Spring component and my composite application would be File Read -> Mediator -> Spring Component -> File Write.
    I have to read a file and using mediator map the same to the Spring input and write the Spring component output to a file.
    I have created a Java interface ( Package Name - transformtospring , Interface Name - TransformInterface) and also created a Java Class ( TransformImpl ) which implements the Interface in this package. Saved all these artifacts in SCA-INF/src folder of the application.
    My Spring Bean configuration file is as follows ( saved the file in the same folder as composite.xml )
    <?xml version="1.0" encoding="windows-1252" ?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:lang="http://www.springframework.org/schema/lang"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:sca="http://xmlns.oracle.com/weblogic/weblogic-sca"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/tool http://www.springframework.org/schema/tool/spring-tool-2.5.xsd http://xmlns.oracle.com/weblogic/weblogic-sca META-INF/weblogic-sca.xsd">
    <!--Spring Bean definitions go here-->
    <bean class="transformtospring.TransformImpl" name="TransformBean"/>
    <sca:service name="TransformService" target="TransformBean"
    type="transformtospring.TransformImpl"/>
    </beans>
    I have created a Spring Context which uses the above Spring Configuration. When i tried to map the mediator output to Spring , i'm getting an error shown below.
    " Could not convert from java interface to interface type wsdl . Exception=java.lang.ClassNotFoundException transformtospring.TransformImpl "
    Please do let me know where exactly i'm doing wrong.
    Regards,
    Sri.

    Hi All,
    I could able to work this one out now !!!
    But i'm having an issue mapping the input to this service. The method signature for the service is as follows:
    public byte[] processData(byte[] input) throws Throwable{
    So the input for this Service is a byte array. Now i'm mapping the data from a File Input ( Read File - opaqueElement ) to this service directly ( using mediator ).
    Now when i have looked into the message in the Enterprise Manager, following is the message structure from Read File input to the service.
    <message>
    <properties>
    <property name="tracking.compositeInstanceId" value="10009"/>
    <property name="tracking.ecid" value="bcd04297e25136e7:4869a9c:13316255efc:-8000-0000000000001f79"/>
    <property name="tracking.conversationId" value="TJ9PCcbtu3S0DA0GuxsGx13RYUb1NxHNndfk2PC8ukk."/>
    </properties>
    <parts>
    <part name="parameters">
    <ns0:processCollaboration>
    <arg0>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48bnMwOkFkZDJJbnB1dCAgeG1s bnM6eHNpPSdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZScgeG1sbnM6 bnMwPSd1ay5jby5qZHdpbGxpYW1zLkFkZDJJbnB1dCcgeHNpOnNjaGVtYUxvY2F0aW9uPSd1ay5j by5qZHdpbGxpYW1zLkFkZDJJbnB1dCByZXF1ZXN0LnhzZCcPG5zMDpudW0xPjEwPC9uczA6bnVt MT48bnMwOm51bTI+MTY8L25zMDpudW0yPjwvbnMwOkFkZDJJbnB1dD4=+</arg0>
    </ns0:processCollaboration>
    </part>
    </parts>
    </message>
    and the corresponding response message ( No output ) back from the service is:
    <message>
    <properties>
    <property name="tracking.compositeInstanceId" value="10009"/>
    <property name="tracking.ecid" value="bcd04297e25136e7:4869a9c:13316255efc:-8000-0000000000001f79"/>
    <property name="componentName" value="ProcessCollab"/>
    <property name="tracking.conversationId" value="TJ9PCcbtu3S0DA0GuxsGx13RYUb1NxHNndfk2PC8ukk."/>
    <property name="compositeDN" value="default/CollaborationToSpring!1.0*soa_a8da1da7-f98f-4935-8d20-da9e7bc003cc"/>
    </properties>
    <parts>
    <part name="parameters">
    <processCollaborationResponse>
    <return/>
    </processCollaborationResponse>
    </part>
    </parts>
    </message>
    I have included System.out statements in my Java class , but its not printing anything in the logs.
    I'm under the impression that the underlying infrastructure ( mediator ) transparently encodes and decodes data from base64Binary to java byte array. So could anyone help me on this !!!
    Regards,
    Sri.

  • Getting File name in Mediator

    The file adapter is used to pick up *.txt files from certain directory. It then calls the mediator which inturn calls service. The mediator should be able to set up the complete filepath = filedirectory+filename as a field when calling other services.
    Please gimme some pointers in doing that.

    Thanks for the extremely fast reply. This is wat i did,
    1. Go to the tranformation mapping between the jca adapter (file) and the service.
    2. There is group called mediator functions in Advanced page of the componette palette.
    3. Inside there is a getProperty item.
    4. Search for jca.file.fileName
    5. drag the function you just created to the xml element you want to map in the service.
    Simple.
    For more information on the jca properties shared with the mediator follow the link [http://docs.oracle.com/cd/E21764_01/integration.1111/e10231/adptr_propertys.htm#CHDEDJEA]
    you can also do it in assign variables section in main mediator page.
    Edited by: Ramasamy gopalan on Jan 2, 2012 6:49 AM
    Edited by: Ramasamy gopalan on Jan 2, 2012 6:50 AM

  • How do I add multiple scripts from search engines to my meta tag properties?

    I currently have copied the goolge script for website varification and analytics, etc and pasted it into my meta tag properties dialog box. There is no problem as far as Google varifying the page. However, I would like to copy Bing's search engine script into my meta tag in addition to Googles script. How do I go about doing this? Do I hit the return on my keyboard under the ending of Googles script, then paste in the Bing script?
    The the last part of the Google script ending in this:
    </script>
    (paste new script from Bing here?)
    Will this cancel out each other and cause problems?
    Can someone walk me through this process, because Bing's search engine will not varify my site through two of the three other methods.
    Ben

    Adding a script after the closure of previous script is the way to go i.e. right after the </script> tag.
    So it should look something like below:
    <script>
    Google's script
    </script>
    <script>
    Bing's script
    </script>
    Cannot comment on one interfering with the other since it really depends on what exact code is there in the scripts. Google and Bing help resources will be able to help more with this.
    Thanks,
    Vikas

Maybe you are looking for