OSB: Text to SOAP in Proxy Service

Hi All,
I am trying to transform incoming text from a proxy service to SOAP business service. Is there a simple way to do it ? I am trying to use Replace and that does not seem to work and I have looked into MFL Transform, but that looks kind of complicated.
Is there a way I can specify the incoming proxy request, $body and transform that to an element of a SOAP message?
Any help would be great, thanks!
--ML                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Hi Patrick,
Thanks for your reply. Currently I have a proxy service set as text for my request message type, I am trying to create a service that accepts HTTP POST and just receive some text in the body. I want to get the request and transform data in the body and pass that to a business service that receives a SOAP message.
Can I still use xquery for that, any help on the configuration would be great, thanks!
--ML                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Similar Messages

  • OSB- Any Soap type Proxy service URL issue.

    Hi,
    There is an issue which i am facing and stuggling with it for sometime :(
    Requirement - Using OSB 11g i had created 12 different services based on WSDLs provided by the client and all of them are working fine.However the client wanted a OSB router service on top of these 12 services which wil search for a string in the input xml and then route it to the required Proxy service (amongst the 12 services developed).
    Problem- I was able to create the router Proxy service which was a Any Soap type of proxy service as i didnot have a WSDL for the router service.The router service is working fine when we test it from the OSB console.
    When We tried to test the flow from SOAPUI (we used the WSDL of one of the 12 webservices developed and modified the uri to the uri of the router service ie. http://hostname:port/router/routerProxy) and it does not work.
    The error returned is ERROR 404 nothing found by this name.
    As The router proxy is a Any Soap kind of service i do not have the option of providing the client with the WSDL.
    I would want to know how to i call this router service from an external source like SOAPUI so that the client is able to hit it.Also what would be the end point uri of this router service ?
    Kindly Help
    Thanks
    Pranav Shah

    Hi anuj,
    Here you have the configuration
    <?xml version="1.0" encoding="UTF-8"?>
    <xml-fragment xmlns:ser="http://www.bea.com/wli/sb/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:env="http://www.bea.com/wli/config/env" xmlns:con="http://www.bea.com/wli/sb/pipeline/config" xmlns:con1="http://www.bea.com/wli/sb/stages/routing/config" xmlns:con2="http://www.bea.com/wli/sb/stages/config" xmlns:con3="http://www.bea.com/wli/sb/stages/transform/config">
    <ser:coreEntry isProxy="true" isEnabled="false" isAutoPublish="false" isTracingEnabled="false">
    <ser:description/>
    <ser:binding type="abstract SOAP" xsi:type="con:AnySoapBindingType" isSoap12="false" xmlns:con="http://www.bea.com/wli/sb/services/bindings/config"/>
    <ser:monitoring isEnabled="false">
    <ser:aggregationInterval>10</ser:aggregationInterval>
    <ser:pipelineMonitoringLevel>Pipeline</ser:pipelineMonitoringLevel>
    </ser:monitoring>
    <ser:reporting>true</ser:reporting>
    <ser:logging isEnabled="true">
    <ser:logLevel>debug</ser:logLevel>
    </ser:logging>
    <ser:sla-alerting isEnabled="true">
    <ser:alertLevel>normal</ser:alertLevel>
    </ser:sla-alerting>
    <ser:pipeline-alerting isEnabled="true">
    <ser:alertLevel>normal</ser:alertLevel>
    </ser:pipeline-alerting>
    <ser:ws-policy>
    <ser:binding-mode>service-policy-bindings</ser:binding-mode>
    <ser:policies/>
    </ser:ws-policy>
    <ser:throttling enabled="false">
    <ser:capacity>0</ser:capacity>
    <ser:maxQueueLength>0</ser:maxQueueLength>
    <ser:timeToLive>0</ser:timeToLive>
    </ser:throttling>
    <ser:messageTracing enabled="false">
    <ser:detailsLevel>Terse</ser:detailsLevel>
    <ser:maxSize>8192</ser:maxSize>
    </ser:messageTracing>
    <ser:pageAttachments isEnabled="false"/>
    <ser:transactions isRequired="false" sameTxForResponse="false"/>
    </ser:coreEntry>
    <ser:endpointConfig>
    <tran:provider-id>http</tran:provider-id>
    <tran:inbound>true</tran:inbound>
    <tran:URI>
    <env:value>/testRouter/test</env:value>
    </tran:URI>
    <tran:inbound-properties/>
    <tran:all-headers>true</tran:all-headers>
    <tran:provider-specific xsi:type="http:HttpEndPointConfiguration" xmlns:http="http://www.bea.com/wli/sb/transports/http">
    <http:inbound-properties/>
    </tran:provider-specific>
    </ser:endpointConfig>
    <ser:router>
    <con:flow>
    <con:route-node name="RouteNode1">
    <con:context/>
    <con:actions>
    <con3:ifThenElse>
    <con2:id>_ActionId-9110389481588294027-8fc6726.12c833ed7e1.-7c90</con2:id>
    <con3:case>
    <con3:condition>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config">fn:contains(fn-bea:serialize($body), 'ImsersoSiebelContactInsert')</con:xqueryText>
    </con3:condition>
    <con3:actions>
    <con1:route>
    <con2:id>_ActionId-9110389481588294027-8fc6726.12c833ed7e1.-7c8f</con2:id>
    <con1:service ref="ServiWebEntrada/AltaExpediente/ProxyService/AltaExpedienteProxyService" xsi:type="ref:ProxyRef" xmlns:ref="http://www.bea.com/wli/sb/reference"/>
    <con1:operation>ImsersoSiebelContactInsert</con1:operation>
    <con1:outboundTransform/>
    <con1:responseTransform/>
    </con1:route>
    </con3:actions>
    </con3:case>
    <con3:case>
    <con3:condition>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config">fn:contains(fn-bea:serialize($body), 'CreaContacto')</con:xqueryText>
    </con3:condition>
    <con3:actions>
    <con1:route>
    <con2:id>_ActionId-9110389481588294027-8fc6726.12c833ed7e1.-7c8b</con2:id>
    <con1:service ref="ServiWebEntrada/CuidContact/ProxyService/CuidContactProxyService" xsi:type="ref:ProxyRef" xmlns:ref="http://www.bea.com/wli/sb/reference"/>
    <con1:operation>CreaContacto</con1:operation>
    <con1:outboundTransform/>
    <con1:responseTransform/>
    </con1:route>
    </con3:actions>
    </con3:case>
    </con3:ifThenElse>
    </con:actions>
    </con:route-node>
    </con:flow>
    </ser:router>
    </xml-fragment>
    Regards
    Pranav

  • OSB - Accessing Operational Settings within Proxy Service

    Does anyone know if it is possible to access Operation Settings from within a Proxy Service?
    The use case is instead of logging, we perform auditing by inserting into a database. In certain environments, we would like to turn this off. I would like to reuse the Logs logging level field to decide whether or not to audit.
    So the message flow would have if (auditLevel = 'Warning') then BusinessService callout for auditing.
    Doing it this way lets operations choose whether or not to audit, instead of making code changes in different environments to choose whether or not to audit.

    Few months back I was also working on a similar requirement where client did not want to go for OSB configuration change (and even update) for changing the log levels or start auditing. After researching a little bit, we implemented java callout which used to read a property file and provide the value of auditing flag at runtime. We also created a java utility which used to clear the cache of server (because server loads & caches the property file after each restart). So whenever we have to make a change in auditing flag, we just change the value in property file and clear the cache of the server. This makes the fresh copy of property file available in server cache and OSB java callout picks the same.
    It was quite complex but the only better solution we could find. Please let us know if you get something better.
    Regards,
    Anuj

  • OSB XQuery transformation help in Proxy Service

    Hi,
    Need help in transformation of the below input to a proxy service
    <soapenv:Body  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
       <InputParams>
         <queryParams>
           <quer:query-params  xmlns:quer="http://www.example.org/QueryParams">
            <param name="test51" value="val3353" />
            <param name="test1" value="val2" />
            <param name="test3" value="val3" />
            <param name="test4" value="val4" />
            <param name="test1" value="val1" />
            <param name="test1" value="val11" />
            <param name="test8" value="val33" />
            <param name="test1" value="val34" />
            <param name="test8" value="val33" />
            <param name="test81" value="val33" />
            <param name="test1" value="val333" />
            <param name="test38" value="val33" />
           </quer:query-params>
         </queryParams>
       </InputParams>
    </soapenv:Body> and want to have the below output after running the below XQuery transformation
    <ns0:mparams>
      <ns0:param name="test1" value="val2" />
      <ns0:param name="test1" value="val1" />
      <ns0:param name="test1" value="val11" />
      <ns0:param name="test1" value="val34" />
      <ns0:param name="test1" value="val333" />
    </ns0:mparams>this is the xquery transformation file
    (:: pragma  parameter="$InputQuery" type="anyType" ::)
    (:: pragma bea:global-element-return element="ns0:mparams" location="../xsd/TargetParams.xsd" ::)
    declare namespace ns0 = "http://www.example.org/QueryParams";
    declare namespace xf = "http://tempuri.org/Simple/transformation/listparams/";
    declare function xf:listparams($InputQuery as element(*))
        as element(ns0:mparams) {
            <ns0:mparams>
                { $InputQuery/ns0:params/param[@name="test1"] }
            </ns0:mparams>
    declare variable $InputQuery as element(*) external;
    xf:listparams($InputQuery)and here is the input to the above .qs
    $body/InputParams/queryParams/qp:query-paramsbut it's the output is always empty and here is what it comes out no matter what the input I give even tried the below inputs but no use
    $body/InputParams/queryParams/qp:query-params
    $body/InputParams/queryParamshere is the output it always prints when logging in the log file
    <quer:mparams xmlns:quer="http://www.example.org/QueryParams"/>Any help is appreciated.
    Thanks

    $InputQuery/ns0:params/param[@name="test1"]Input doesn't have a ns0:params node ..so the xpath here should be $InputQuery/param[@name="test1"]

  • Osb - bind error handler to proxy service

    Hi!
    I have got a proxy service which polls a POP3 server to download emails and process them.
    My question: How could I bind an error handler to proxy service for noticing when the POP3 server is not available?
    So I would like to put an alert when the OSB looses the connection to email server. I tried to put an error handler to top component on message flow but it doesn't work...
    Could anyone help me?
    Thanks!
    Viktor

    For poller transports (email/File/FTP etc) it is not possible to catch errors of transport layer, in your service error handler. Re: OSB - Error Handler in FTP Transport for TransportException
    Thanks
    Manoj
    Edited by: Manoj Neelapu on Jun 28, 2010 3:51 PM

  • Calling a business service based on operation-soap action in Proxy service

    Hi,
    I have a requirement in which I have to call a business service based on operation-soap action defined in Proxy service wsdl.
    Like in below mentioned wsdl GetPartCostDelta and GetCurrencyList operations are there.But which ever operation I select,It just goes to one business service.
    Is there any way,I can route to some another business service based on the soap action
    proxy service WSDL
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ewopcd="urn:com:gm:gpd:schema:ewopartcostdelta" xmlns:gen="urn:com:gm:gpd:schema:genericfault" xmlns:tns="urn:com:gm:gpd:services:ewopartcostdeltaservice" targetNamespace="urn:com:gm:gpd:services:ewopartcostdeltaservice">
         <wsdl:types>
              <xs:schema>
                   <xs:import namespace="urn:com:gm:gpd:schema:ewopartcostdelta" schemaLocation="ewocostdelta.xsd"/>
                   <xs:import namespace="urn:com:gm:gpd:schema:genericfault" schemaLocation="servicefault.xsd"/>
              </xs:schema>
         </wsdl:types>
         <wsdl:message name="EWOCurrencyListRequest">
              <wsdl:part name="CurrencyListRequest" element="ewopcd:EWOCostDeltaInput"/>
         </wsdl:message>     
         <wsdl:message name="EWOCurrencyListResponse">
              <wsdl:part name="CurrencyListResponse" element="ewopcd:EWOCurrencyList"/>
         </wsdl:message>     
         <wsdl:message name="EWOPartCostDeltaRequest">
              <wsdl:part name="PartCostDeltaRequest" element="ewopcd:EWOCostDeltaInput"/>
         </wsdl:message>
         <wsdl:message name="EWOPartCostDeltaResponse">
              <wsdl:part name="PartCostDeltaResponse" element="ewopcd:EWOCostDeltaResult"/>
         </wsdl:message>
         <wsdl:message name="EWOPartCostDeltaServiceFault">
              <wsdl:part name="PartCostDeltaServiceFault" element="gen:ServiceFault"/>
         </wsdl:message>
         <wsdl:portType name="EWOPartCostDeltaPortType">
              <wsdl:operation name="GetCurrencyList">
                   <wsdl:input name="EWOCurrencyListRequest" message="tns:EWOCurrencyListRequest"/>
                   <wsdl:output name="EWOCurrencyListResponse" message="tns:EWOCurrencyListResponse"/>
                   <wsdl:fault name="EWOPartCostDeltaServiceFault" message="tns:EWOPartCostDeltaServiceFault"/>
              </wsdl:operation>
              <wsdl:operation name="GetPartCostDelta">
                   <wsdl:input name="EWOPartCostDeltaRequest" message="tns:EWOPartCostDeltaRequest"/>
                   <wsdl:output name="EWOPartCostDeltaResponse" message="tns:EWOPartCostDeltaResponse"/>
                   <wsdl:fault name="EWOPartCostDeltaServiceFault" message="tns:EWOPartCostDeltaServiceFault"/>
              </wsdl:operation>          
         </wsdl:portType>
         <wsdl:binding name="EWOPartCostDeltaBinding" type="tns:EWOPartCostDeltaPortType">
              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <wsdl:operation name="GetCurrencyList">
                   <soap:operation soapAction="GetCurrencyList" style="document"/>
                   <wsdl:input>
                        <soap:body use="literal"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap:body use="literal"/>
                   </wsdl:output>
                   <wsdl:fault name="EWOPartCostDeltaServiceFault">
                        <soap:fault name="EWOCostDeltaServiceFault" use="literal"/>
                   </wsdl:fault>
              </wsdl:operation>
                        <wsdl:operation name="GetPartCostDelta">
                   <soap:operation soapAction="GetPartCostDelta" style="document"/>
                   <wsdl:input>
                        <soap:body use="literal"/>
                   </wsdl:input>
                   <wsdl:output>
                        <soap:body use="literal"/>
                   </wsdl:output>
                   <wsdl:fault name="EWOPartCostDeltaServiceFault">
                        <soap:fault name="EWOCostDeltaServiceFault" use="literal"/>
                   </wsdl:fault>
              </wsdl:operation>
         </wsdl:binding>
         <wsdl:service name="EWOPartCostDeltaService">
              <wsdl:port name="EWOPartCostDeltaPort" binding="tns:EWOPartCostDeltaBinding">
                   <soap:address location="https://localhost/EWOPartCostDelta"/>
              </wsdl:port>
         </wsdl:service>
    </wsdl:definitions>

    Did you try using the Operational branching node of OSB?
    You have copy the operation name from the inbound variable and populate the SOAP Header with that value into the SOAPAction tag.I think this will work.
    Thanks,
    Prabu

  • OSB Proxy Service routing

    Hi,
    I have a simple Proxy Service which consumes messages from a remote endpoint queue (source queue). The Proxy Service simply routes consumed messages to a Business Service which puts messages into another remote endpoint queue (destination queue).
    When I test passing a message to the Proxy Service using the OSB's Test Console, the Proxy Service routes the message to the Business Service okay where the message is then placed into the remote endpoint queue (destination queue) as expected. But, if I put a message into the remote source queue, I can see that the message gets consumed by the Proxy Service but the message remains as 'pending' and, either the Proxy Service does not route the message to the Business Service or, the Business Service does not put the message into the remote destination queue. What could the problem be?
    Thanks in advance for any help on this.

    Hello,
    Still looking for an answer to this.
    Scenario:
    When enabled, OSB Proxy Service removes any messages placed in remote endpoint URI queue, but it seems the messages do not flow within the Proxy Service's message flow itself. When the Proxy Service is enabled, the messages in the remote queue get removed but are seen to stay in a 'pending' state. When the Proxy Service is disabled, the messages get put back in the queue. What are the possible reasons as to why messages would not get processed within the Proxy Service's message flow? All the message flow does is, route the messages to a Business service which then sends the messages to another remote endpoint URI queue.
    PS: When a message is injected into the Proxy Service via the Test Console, the message flows/routes to Business Service okay without problems so I assume that the problem must lie in the inital remote queue/Proxy Service interface somewhere. Maybe permissions or transaction related issue? But I can't see any hints to anything wrong in configurations or server(s) logs...
    Thanks in advance for any help on this.

  • SOAP Header based user/password authentication in OSB 11g Proxy Service

    Hi,
    I have implemented SOAP Header based authentication in my OSB 11g Proxy Service.
    In the Security settings of my AnySOAP(Soap 1.1) HTTP Proxy service, I have amde the following changes:
    1.
    In Transport Access Control link, i selected the User predicate, and provided an user already existing on weblogic server with following roles(AppTesters, Monitors, Operators).
    The AuthorizationProvider was XACMLAuthorizer
    2.
    Under Custom Authentication, I selected the Custom User Name and Password option, and provided the below mentiioned xpaths
    User Name XPath: ./*/*:Username/text()
    User Password XPath: ./*/*:Password/text()
    3.
    In Message Access Control link, i selected the User predicate with the same user as mentioned in Transport Access Control link.
    Now, when I am testing this service from OSB Test Console, I am providing the following input.
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:N1="http://abcd.com/common/bodcomponents/transactional/model/1.0/">
    <soap:Header>
    <AuthHeader>
    <N1:Username>userXYZ</N1:Username>
    <N1:Password>passXYZ</N1:Password>
    </AuthHeader>
    </soap:Header>
    <soap:Body>
    <!-- body payload -->
    </soap:Body>
    </soap:Envelope>
    The response is "The invocation resulted in an error: ."
    The OSB server logs show the below error:
    ####<Feb 9, 2011 6:05:42 PM IST> <Error> <OSB Security> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000c92> <1297254942782> <BEA-387082> <Proxy service access denied (proxy: ABCD/Services/Common_HTTP_Proxy, subject: Subject: 0
    )>
    ####<Feb 9, 2011 6:05:42 PM IST> <Error> <OSB Kernel> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000c92> <1297254942782> <BEA-382004> <Failed to process request message for service ProxyService ABCD/Services/Common_HTTP_Proxy: com.bea.wli.sb.security.AccessNotAllowedException
    com.bea.wli.sb.security.AccessNotAllowedException
         at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:136)
         at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:117)
         at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:586)
         at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:329)
         at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:76)
         at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:134)
         at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:132)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
         at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:137)
         at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:454)
         at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)
         at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)
         at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestService_sqr59p_EOImpl.java:353)
         at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Please suggest where I am going wrong in this. I have cross checked the user/pass credentials with what I am giving in the input, and it is perfectly fine.

    I have added the Username and Password as follows, since the namespace declaration was required due to the namespace prefix 'N1' in the XPath
    declare namespace N1="http://abcd.com/common/bodcomponents/transactional/model/1.0/";./AuthHeader/N1:Username/text()
    declare namespace N1="http://abcdp.com/common/bodcomponents/transactional/model/1.0/";./AuthHeader/N1:Password/text()
    I have removed the Message Access Control conditions, have only kept Transport Access Control conditions.
    If i keep the condition in Transport Access Control as "Allow access to everyone", and test with proper credentials in the Username/Password tags in SOAP Header, then it works fine. However, if I try to give an incorrect password in the SOAP Header, it denies the access. So that means the XPaths given for Username/Password are working fine. The OSB logs show the below message
    +####<Feb 10, 2011 12:59:21 PM IST> <Error> <OSB Security> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000ef2> <1297322961536> <BEA-386008> <Message level username/password authentication failed: [Security:090304]Authentication Failed: User weblogic javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User weblogic denied>+
    However if i add the condition with predicate as "User" and user name argument as "weblogic", and try to pass the same in the SOAP Header as well with the correct password, it denies the access with below message in the logs.
    +####<Feb 9, 2011 6:05:42 PM IST> <Error> <OSB Security> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000c92> <1297254942782> <BEA-387082> <Proxy service access denied (proxy: ABCD/Services/Common_HTTP_Proxy, subject: Subject: 0+
    +)>+
    +####<Feb 9, 2011 6:05:42 PM IST> <Error> <OSB Kernel> <test.abcd.co.in> <osb_server1> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <5a5769b8025ef997:-2bda316:12def49100a:-7fff-0000000000000c92> <1297254942782> <BEA-382004> <Failed to process request message for service ProxyService ABCD/Services/Common_HTTP_Proxy: com.bea.wli.sb.security.AccessNotAllowedException+
    com.bea.wli.sb.security.AccessNotAllowedException
    at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:136)
    at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:117)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:586)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:329)
    at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:76)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:134)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:132)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:137)
    at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:454)
    at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)
    at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestService_sqr59p_EOImpl.java:353)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

  • OBPM BPM Studio support for SOAP 1.2 based Proxy services (OSB)

    Hi,
    I tried to import proxy services from OSB (as external resource). The proxy service is based on the SOAP 1.2 WSDL standard. When BPM studio introspective SOAP1.2 based proxy services, it is givng the following warninigs. Bacause of this i am unable to create a service object. Please help.
    Regards,
    Pandu
    Introspecting...
    downloading /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    parsing /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    [Warning] unknown tag 'header' from 'http://schemas.xmlsoap.org/wsdl/soap12/'.
    [Warning] unknown tag 'header' from 'http://schemas.xmlsoap.org/wsdl/soap12/'.
    checking /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlmessages%2Futilityservices%2Froutingandmessagingservice%2FRoute
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlmessages%2Futilityservices%2Froutingandmessagingservice%2FRoute
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlheaders%2FHeaderSchema
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlheaders%2FHeaderSchema
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FHeaderTypes
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FHeaderTypes
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FSimpleTypes
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FSimpleTypes
    http://www.michaelpage.com/wsdltypes/common/SimpleTypesv1.0 compiled
    http://www.michaelpage.com/wsdltypes/common/HeaderTypesv1.0 compiled
    http://www.michaelpage.com/wsdlheaders/Headerv1.0 compiled
    http://www.michaelpage.com/wsdlmessages/utilityservices/Routev1.0 compiled
    [Warning] The binding 'OnRampServiceSOAP' with type 's2:OnRampServicePort'is unsupported. Components will not be generaded for this binding..
    'http://www.michaelpage.com/wsdl/utilityservices/routingandmessagingservice/OnRampServicev1.0/' was parsed.
    Analyzing dependecies for module 'WS.OnRampService'...
    Analyzing dependecies for module 'WS.OnRampService'...
    Analyzing Components
    Storing Instrospected Types
    Introspection completed. Errors: 0, Warnings: 3.

    Pandu,
    OBPM 10g doesn't support SOAP 1.2 binding.
    Edited by: 4dyomi on Nov 20, 2009 11:41 AM
    Edited by: 4dyomi on Nov 20, 2009 11:42 AM

  • Catching and rethrowing a SOAP Fault from an OSB 11g Proxy service

    Hello,
    We have a chain of proxy services (that last one of which calls a business service) in our 11.1.1.6 OSB project.  At one of the lower levels, we successfully throw a fault like this:
    <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Fault xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
        <soap:faultcode>SOAP-ENV:Client</soap:faultcode>
        <soap:faultstring>Non-Existent User</soap:faultstring>
        <soap:faultActor>Client who consumed this Web Service operation</soap:faultActor>
        <soap:detail>
          <sc:UserNonExistentFault xmlns:sc="http://xmlns.sc.com/Services/V1">
            <sc:CustomerNumber>12345</sc:CustomerNumber>
          </sc:UserNonExistentFault>
        </soap:detail>
      </soap:Fault>
    </soapenv:Body>
    In the proxy service which calls this proxy service, I tried to catch this fault in an Error Handler so that I could confirm that it's available for me to re-throw back up the chain.  Curiously, the proxy service which calls that proxy service cannot see that fault.  But rather it sees what appears to be an OSB-overridden fault:
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
      <con:errorCode>BEA-380000</con:errorCode>
      <con:reason>com.bea.wli.sb.pipeline.PipelineException</con:reason>
      <con:details>
        <err:ErrorResponseDetail xmlns:err="http://www.bea.com/wli/sb/errors">
          <err:response-metadata xsi:type="sb:SBResponseMetaDataXML" xmlns:sb="http://www.bea.com/wli/sb/transports/sb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <tran:headers xsi:type="sb:SBResponseHeadersXML" xmlns:tran="http://www.bea.com/wli/sb/transports"/>
            <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">1</tran:response-code>
            <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
          </err:response-metadata>
        </err:ErrorResponseDetail>
      </con:details>
      <con:location>
        <con:node>PipelinePairNode</con:node>
        <con:pipeline>PipelinePairNode_request</con:pipeline>
        <con:stage>GetCustomerByNumber</con:stage>
        <con:path>request-pipeline</con:path>
      </con:location>
    </con:fault>
    I have tried printing out the values of $body, $fault, $outbound and $inbound from the calling proxy service's Error Handler just to see if our <sc:UserNonExistentFault> is nested anywhere therein.  Unfortunately, it is nowhere to be found.
    How can we force OSB to NOT override our faults with OSB-framework faults and, instead, just throw our custom fault all the way up the chain and back to the consumer?
    Thank you,
    Michael

    I think I figured this out.
    In proxyService-2, build the <soap:Fault> and assign it to the body, then Reply with Failure (as you mentioned above).
    When proxyService-1 receives this, it will still be in the $body variable.  But the $fault variable is now populated with a BEA-38000 error.  It seems that as long as the $fault variable has data in it, then the OSB system will throw that instead of my fault (ignoring the <soap:Fault> I put into the body).
    So what I did was to Delete the $fault variable in the error handler of proxyService-1, then Reply with Failure (again).
    It would seem as if the inner workings of OSB has some logic like:
    if $fault is not null, throw the BEA-####### fault.  Otherwise, return the contents of the $body.
    By removing the fault, I effectively got to that "else/otherwise" condition.
    Of course, the Reply with Failure is still needed to ensure that an HTTP 500 error is passed with the fault (per the SOAP specification).
    Cheers!
    Michael

  • Osb proxy service with owsm policy auth slow when soap request very large

    I have a proxy service which is security with owsm policy: oracle/wss_username_token_service_policy, the proxy service simply route to Business Service which directly invoke a bpel exposed web service, when I call the proxy service with soap envelope large than 15MB(not attachment), waiting about 4~5 minutes, the bpel instance created ; but when I remove the security policy:oracle/wss_username_token_service_policy, it will cost only 20 seconds, why authentication cost so long? How can I deal with the problem?
    My English is poor, please don't mind!
    besides, with my OSB version is 11.1.1.6.0

    I finally figured it out. The nullpointer exception is related to the SAML assertion. The SAML assertion in my requests is signed with embedded signature and this seems to be not supported with the used OWSM policy. Without the signature is the exception gone.
    Marian

  • OSB Setting SOAP Body Id value in proxy service when calling out to another service

    I have a proxy service deployed in OSB.  I need to set the Id attribute value on the SOAP Body element to a specific value prior to invoking the business service.
    In the service callout I currently has  "Configure Payload Document" selected.
    Do I need to do an XPath / XQuery transformation in an Insert or Update message processing action in a prior step of the message flow before the callout to the business service?

    Suppose below is your request you are passing to Business Service :
    <math:input
    xmlns:math="http://www.math.org">
        <math:inp1>100</math:inp1>
        <math:inp2>1</math:inp2>
        </math:input>
    Now before passing it to BS you need to change the value of inp2 to let say 200.
    So just before service callout , add a replace action
    Replace [ node contents ] of [ ./math:input/math:inp2 ] in [ body ] with [ 200 ]
    Your new request will become:
    <math:input
    xmlns:math="http://www.math.org">
    <math:inp1>100</math:inp1>
    <math:inp2>200</math:inp2>
    </math:input>
    Hope this helps.
    Regards,
    Karan
    Oracle Fusion Middleware Blog

  • OSB Delete Entire Node (SOAP:header) in Proxy service

    Hi
    I am wanting to delete the SOAP:header node in the response in the SOAP proxy service.
    I am using the Delete action with the following settings
    Xpath: .
    In Variable: header
    All this is doing is deleting the contents of the "Header" node when I want to Delete the entire node.
    What am I doing wrong?
    Thanks in advance
    Edited by: cool.br33ze on 05-Feb-2013 01:40

    The reason for why I need to get rid of the SOAP:header is because the consuming application, SAP, is unable to handle a SOAP:header.If the consuming application is a SOAP client then there is no reason why it cannot handle it. If consuming application is not a SOAP client then better change the type of your proxy service to Any XML service or Messaging Type Service (with request and response type as XML)
    Regards,
    Anuj

  • Error while invoking web services from Proxy services in OSB

    I have a Proxy Service of message type in Oracel Service Bus 10gR3 and it passes the incoming messages from a JMS Queue to Business Service of Web Services type. This Web Service is hosted in Glass Fish v3 and it's binding style is RPC. The JRE used in both the servers are 1.6.0_20. The JMS message is of Text type. The Web Services at the Glass Fish throws MessageCreationException for any content of the JMS message. However, it works fine if Business Service's test client is invoked from the OSB'S Admin Console. However, the same will not work if Proxy Service's test client is called.
    The detailed exception stack is given below :
    Thanks for the help.
    - Raj
    com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
    at [row,col {unknown-source}]: [1,0]
         at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:359)
         at com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:318)
         at com.sun.xml.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:92)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:501)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:285)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:143)
         at org.glassfish.webservices.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:116)
         at org.glassfish.webservices.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
         at org.glassfish.webservices.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:196)
         at org.glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:127)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
         at com.sun.grizzly.http.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:195)
         at com.sun.grizzly.http.servlet.FilterChainImpl.invokeFilterChain(FilterChainImpl.java:139)
         at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:376)
         at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:329)
         at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
         at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
         at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245)
         at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
         at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
         at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
         at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
         at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
         at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
         at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
         at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
         at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
         at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
         at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: com.sun.xml.ws.streaming.XMLStreamReaderException: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
    at [row,col {unknown-source}]: [1,0]
         at com.sun.xml.ws.streaming.XMLStreamReaderUtil.wrapException(XMLStreamReaderUtil.java:267)
         at com.sun.xml.ws.streaming.XMLStreamReaderUtil.next(XMLStreamReaderUtil.java:95)
         at com.sun.xml.ws.streaming.XMLStreamReaderUtil.nextContent(XMLStreamReaderUtil.java:110)
         at com.sun.xml.ws.streaming.XMLStreamReaderUtil.nextElementContent(XMLStreamReaderUtil.java:100)
         at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:175)
         at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:303)
         at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:129)
         at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:354)

    Let me explain what I am trying to achieve. Our application receives data from multiple sources - from mainframe using FTP, JMS Queue and BPM application using Web Services. The data from all these sources are sending to a Web Service running in GlassFish V3. To handle this I have created three Proxy Services and one Business Service on OSB. The Business Service is of type Web Service using the same WSDL from the target Web Service.
    The Proxy Services are configured as follows:
    Proxy 1 (type - Messaging service) listens to the JMS Queue and receives JMS Text Message -> Business Service(B1) (Web Service).
    Proxy 2 (type - Messaging service Polls files from the FTP Server -> Business Service(B1) (Web Service).
    Proxy 3 (type - Web service) is invoked by the BPM application and sends a String -> Business Service(B1) (Web Service).
    All the Proxies route to the same Business Service - B1 which calls the Web Service in GlassFish. The only Proxy that works fine is Proxy 3 which is created using the same WSDL of the Web Service. In the other two proxies it thows the same exception in GlassFish as I mentioned before.
    com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog at [row,col {unknown-source}]: [1,0] at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:359)
    Is this configuration correct to achieve my requirements?
    Once again thanks for the help.
    - Raj

  • How to invoke a OSB Proxy Service from a Servlet??

    Hi!!
    I'm a begginer in OSB, and right now I have a OSB configuration in production mode. So, using the console test it's very easy to test (doh) my configuration. But now, I have to make a stress test and after read a lot of documentation I did'nt found the way to do that. So I'm trying to do it by using a Servlet, a doPost method in especific, but after a lot of time I can't invoke the proxy service.
    What is the right way to use a proxy service in production mode??
    How can I call it from my servlet??
    How can I send an xml (or any other object, file, text...) as a Request??
    Help please, thank you...
    Edited by: user12116998 on 18-mar-2010 12:40

    If you have your proxy service published as http/soap, then I recommend you to use SoapUI to test it. It can help you with stress test too.

Maybe you are looking for

  • How can I see what apps automatically downloaded to the other iphone?

    Hello, I have two iphones associated with my apple ID.  One for me and one for my son.  He is with his mother half the time so to be physically next to the phone is not possible at the moment. I noticed on my phone that I got two apps that he downloa

  • While doing scd2 with ikm oracle slowly changing get this error plz help me

    ODI-1217: Session INT_EMP1_SCD2 (574001) fails with return code 936. ODI-1226: Step INT_EMP1_SCD2 fails after 1 attempt(s). ODI-1240: Flow INT_EMP1_SCD2 fails while performing a Integration operation. This flow loads target table ODI_EMP1_SCD2_TGT. O

  • My Windows friends cannot save my iPhoto attachments in Mail: what's wrong?

    I use iPhoto to mail pictures to my family; some of whom (still) have Windows computers (the poor buggers). Unfortunately they can only save individual pictures one by one, not "Save all attachments" as Mac's Mail app allows. While in Mac's Mail appl

  • URGENT: Share PageParameter value between multiple pages

    Hi All I have a set of pages where each page have a page parameter (lets call it ParamX). This parameter is used by portlets on the pages to display content from database. The problem is that, I need to share the same value of this parameter in all p

  • PDF different size

    I just joined Adobe PDF online conversion and converted my first file. It is a 6" x 9" Word document but the resulting pdf is 8 1/2 a 11" which makes my margins much larger than they should be. Why is this, and how can I get a 6 x 9 pdf. Thanks for a