OWSM Custom Assertion for OSB RESTful Proxy Service

Hello,
I have implemented a Custom OWSM Assertion to authenticate requests with a custom token placed in a HTTP header. I can assign this assertion to a SOAP proxy service as a security policy. However I am not able to assign the very same policy to a Restful JSON service (Proxy service defined as messaging service with text message type). I am getting this error:
[OSB Kernel:398128]One of the Web service policy attached is not allowed on service default/RESTful because the service binding does not support it
My policy:
<wsp:Policy xmlns="http://schemas.xmlsoap.org/ws/2004/09/policy"
    xmlns:custom="http://custom"
    orawsp:status="enabled"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" orawsp:category="security"
    orawsp:attachTo="binding.server" wsu:Id="http_customtoken_authentication_policy"
    xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
    wsp:Name="custom/http_customtoken_authentication_policy">
    <custom:customTokenHttpAuthentication
        orawsp:Silent="true" orawsp:Enforced="true"
        orawsp:name="Http custom token Authentication" orawsp:category="security/authentication" >
        <orawsp:bindings>
            <orawsp:Config orawsp:name="authenticationassertion"
                orawsp:configType="declarative">
                <orawsp:PropertySet orawsp:name="headerName">
                    <orawsp:Property orawsp:name="headerName"
                        orawsp:type="string" orawsp:contentType="constant">
                        <orawsp:Value>CustomToke</orawsp:Value>
                    </orawsp:Property>
                </orawsp:PropertySet>
            </orawsp:Config>
        </orawsp:bindings>
    </custom:customTokenHttpAuthentication>
</wsp:Policy>
My OSB version is OSB 11g PS6 and in this version, OWSM policies are supported for Restful services. Interesting is, that the built-in policy oracle/http_basic_auth_over_ssl_service_policy can be assigned to my Restful service. Do you know a solution for the problem, how can I assign my custom assertion to the Restful service? Anything special is needed in the policy definition?
Thanks.
Marian

Hi Vinoth,
The users/groups are picked up from the LDAP configured in Security Realms->myRealm->Providers
You basically have 2 options:
- You can configure your LDAP in Providers
- Use the DefaultAuthenticator that weblogic provides you by default.
If you do not want to configure an LDAP, and want to use weblogic's default, then all you have to do is add users and groups in Security Realms->myRealm->Users and Groups
Do mark this as useful or answered, if this has helped.

Similar Messages

  • OSB : Restful proxy service with basic authentication

    Hi,
    We want to expose a restful webservice from OSB with Basic authentication (username and password). Let us know what is the procedure for the same.
    THanks,

    Hi Vinoth,
    The users/groups are picked up from the LDAP configured in Security Realms->myRealm->Providers
    You basically have 2 options:
    - You can configure your LDAP in Providers
    - Use the DefaultAuthenticator that weblogic provides you by default.
    If you do not want to configure an LDAP, and want to use weblogic's default, then all you have to do is add users and groups in Security Realms->myRealm->Users and Groups
    Do mark this as useful or answered, if this has helped.

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

  • Problems with Custom Assertions in OSB with OWSM

    Hi all, I try to get the custom assertion example from the documentation to work:
    I have used the example about ValidateIpAssertions, and I have attached to a proxy service. I can debug it with eclipse, but I see that it's not running ok. I realize that the 'context message' is not informed in correct way in my debug tool.
    I’m using OSB 11g Patch Set 2 with OWSM extension and Enterprise Console (SOA Suite is not installed). The admin server and managed server are running in the same domain (only one server).
    Any suggestion?

    I want to say that when I do a request trough a soapUi by example, the method getremoteAddr by example is null. one of the things more importants to me is to get the soap message. With version 10 I used the next expression with steps in order to get the message.
    msgContext.getRequest().getAxisMessage().getSOAPPartAsString();
    but now with assertions I dont know how to extract the soapmessage for working with it.

  • How to create RESTful proxy service in OSB?

    How can I write RESTful web services in OSB?
    We are using OSB 11g.
    I know how to create SOAP proxy service in OSB. I just want to switch to RESTful services from SOAP.

    http://blogs.oracle.com/jeffdavies/2009/06/restful_services_with_oracle_s_1.html
    http://blogs.oracle.com/jamesbayer/2008/07/using_rest_with_oracle_service.html
    http://biemond.blogspot.com/2009/05/osb-rest-service-with-xml-json-output.html
    http://blogs.oracle.com/knutvatsendvik/2009/11/how_to_specify_ampersand_in_a_rest_query-string_osb.html
    Regards,
    Anuj

  • 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 11g proxy service test console fail with Broken pipe

    Hi everyone.
    I have a strange problem with OSB test console (and sometime with java client). The proxy I built cannot response after several request. In other word, I tried to test console for dozens time, sometime I cannot have response from OSB. I wait for the response for 5 minutes and get some strange exception, that is broken pipe, but error code is not unique.
    I cannot understand why my proxy service stuck in that exception. Can you help me to solve it ?
    Any suggestion is appreciated.
    P/S: that is log record on server:
    <BEA-423405> <An exception [Broken pipe] was thrown while rendering the content at [/jsp/test/ServiceResult.jsp].
    java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at weblogic.servlet.internal.ChunkOutput.writeChunkTransfer(ChunkOutput.java:568) at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:539) at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:427) at weblogic.servlet.internal.CharsetChunkOutput.flush(CharsetChunkOutput.java:298) at weblogic.servlet.internal.ChunkOutput$2.checkForFlush(ChunkOutput.java:648) at weblogic.servlet.internal.CharsetChunkOutput.write(CharsetChunkOutput.java:200) at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:148) at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:148) at weblogic.servlet.internal.WLOutputStreamWriter.writeBytes(WLOutputStreamWriter.java:168) at weblogic.servlet.internal.WLOutputStreamWriter.flushBuffer(WLOutputStreamWriter.java:212) at weblogic.servlet.internal.WLOutputStreamWriter.write(WLOutputStreamWriter.java:132) at weblogic.servlet.internal.WLOutputStreamWriter.write(WLOutputStreamWriter.java:113) at weblogic.servlet.internal.DelegateChunkWriter.print(DelegateChunkWriter.java:118) at weblogic.servlet.internal.ChunkOutputWrapper.print(ChunkOutputWrapper.java:171) at weblogic.servlet.jsp.JspWriterImpl.print(JspWriterImpl.java:177) at com.bea.alsb.console.taglibs.test.TestExpandableDataSection.doStartTag(TestExpandableDataSection.java:202) at jsp_servlet._jsp._test.__serviceresult._jspService(__serviceresult.java:341) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at org.apache.beehive.netui.pageflow.PageFlowPageFilter.continueChainNoWrapper(PageFlowPageFilter.java:455) at org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:432) at org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:284) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:524) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:444) at org.apache.beehive.netui.pageflow.scoping.internal.ScopedRequestDispatcher.include(ScopedRequestDispatcher.java:119) at com.bea.netuix.servlets.controls.content.JspContent.beginRender(JspContent.java:552) at com.bea.netuix.servlets.controls.content.NetuiContent.beginRender(NetuiContent.java:365) at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:485) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326) at com.bea.netuix.nf.UIControl.render(UIControl.java:582) at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486) at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146) at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:62) at jsp_servlet._framework._skeletons._wliconsole.__flowlayout._jspService(__flowlayout.java:271) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:526) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:444) at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130) at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72) at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65) at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326) at com.bea.netuix.nf.UIControl.render(UIControl.java:582) at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486) at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146) at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:62) at jsp_servlet._framework._skeletons._wliconsole._popupwindow.__gridlayout._jspService(__gridlayout.java:312) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:526) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:444) at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130) at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72) at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65) at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326) at com.bea.netuix.nf.UIControl.render(UIControl.java:582) at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486) at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146) at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:62) at jsp_servlet._framework._skeletons._wliconsole.__flowlayout._jspService(__flowlayout.java:271) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:526) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:444) at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130) at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72) at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65) at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:326) at com.bea.netuix.nf.UIControl.render(UIControl.java:582) at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:486) at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146) at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:62) at jsp_servlet._framework._skeletons._wliconsole._popupwindow.__gridlayout._jspService(__gridlayout.java:312) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:526) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:444) at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:130) at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72) at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65) at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:481) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:208) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:162) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:199) at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)Regards
    Cuong Pham

    Hi, everyone.
    This is my proxy service that was tested above. Can you show me some instructions for tuning it? On these day, I get many bad performance responses from that service.
    <?xml version="1.0" encoding="UTF-8"?>
    <xml-fragment xmlns:ser="http://www.bea.com/wli/sb/services" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:env="http://www.bea.com/wli/config/env" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:con="http://www.bea.com/wli/sb/pipeline/config" xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config" xmlns:con2="http://www.bea.com/wli/sb/stages/config" xmlns:con3="http://www.bea.com/wli/sb/stages/routing/config" xmlns:con4="http://www.bea.com/wli/sb/stages/logging/config">
      <ser:coreEntry isProxy="true" isEnabled="true" isTracingEnabled="false">
        <ser:binding type="SOAP" isSoap12="false" xsi:type="con5:SoapBindingType" xmlns:con5="http://www.bea.com/wli/sb/services/bindings/config">
          <con5:wsdl ref="DnICT_OSB_Project/resources/wsdl/PortalSide"/>
          <con5:port>
            <con5:name>PortalSideSOAP</con5:name>
            <con5:namespace>http://www.example.org/PortalSide/</con5:namespace>
          </con5:port>
          <con5:selector type="SOAP body"/>
          <con5:WSI-compliant>false</con5:WSI-compliant>
        </ser:binding>
        <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>wsdl-policy-attachments</ser:binding-mode>
        </ser:ws-policy>
      </ser:coreEntry>
      <ser:endpointConfig>
        <tran:provider-id>http</tran:provider-id>
        <tran:inbound>true</tran:inbound>
        <tran:URI>
          <env:value>/DnICT_OSB_Project/proxy-services/DnICT_WSDL_PS</env:value>
        </tran:URI>
        <tran:inbound-properties/>
        <tran:all-headers>false</tran:all-headers>
        <tran:provider-specific>
          <http:inbound-properties/>
        </tran:provider-specific>
      </ser:endpointConfig>
      <ser:router>
        <con:pipeline type="request" name="GetRequestInfo_pipeline_pair_request">
          <con:stage name="InputProcess_stage">
            <con:context>
              <con2:varNsDecl namespace="http://www.example.org/PortalSide/" prefix="por"/>
              <con2:varNsDecl namespace="http://www.example.org/PortalSide_Test/" prefix="por1"/>
              <con2:varNsDecl namespace="http://www.example.org/OutputSchema" prefix="out"/>
            </con:context>
            <con:actions>
              <con1:assign varName="docId">
                <con2:id>_ActionId-2456490176600649155--723117a.130d7d91065.-7b86</con2:id>
                <con1:expr>
                  <con2:xqueryText>$body/por:checkStatus/documentId/text()</con2:xqueryText>
                </con1:expr>
              </con1:assign>
              <con1:assign varName="depId">
                <con2:id>_ActionId-2456490176600649155--723117a.130d7d91065.-7b69</con2:id>
                <con1:expr>
                  <con2:xqueryText>$body/por:checkStatus/departmentId/text()</con2:xqueryText>
                </con1:expr>
              </con1:assign>
              <con1:assign varName="srvId">
                <con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7d41</con2:id>
                <con1:expr>
                  <con2:xqueryText>$body/por:checkStatus/serviceId/text()</con2:xqueryText>
                </con1:expr>
              </con1:assign>
            </con:actions>
          </con:stage>
        </con:pipeline>
        <con:pipeline type="response" name="GetRequestInfo_pipeline_pair_response"/>
        <con:pipeline type="error" name="_onErrorHandler-4305915913837985194--28b0abb9.13175ecaaa7.-7d31">
          <con:stage name="stage1">
            <con:context>
              <con2:userNsDecl namespace="http://www.example.org/OutputSchema" prefix="ns2"/>
            </con:context>
            <con:actions>
              <con1:replace varName="body">
                <con2:id>_ActionId-6209548530523967653-4b474d03.13177132d5d.-7f08</con2:id>
                <con1:location>
                  <con2:xpathText>.</con2:xpathText>
                </con1:location>
                <con1:expr>
                  <con2:xqueryText><![CDATA[<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soapenv:Fault>
              <faultcode>soapenv:Server</faultcode>
              <faultstring>{concat($fault/ctx:errorCode,': ',$fault/ctx:reason)}</faultstring>
              <detail>
                   <ns2:faultResponse>
                        <errorCode>{$fault/ctx:errorCode/text()}</errorCode>
                        <reason>{$fault/ctx:reason}</reason>
                        <location>
                             <node>{$fault/ctx:location/ctx:node/text()}</node>
                             <path>{$fault/ctx:location/ctx:path/text()}</path>
                        </location>
                        <operation>{$inbound/ctx:service/ctx:operation/text()}</operation>
                        <uri>{$inbound/ctx:transport/ctx:uri/text()}</uri>
                        <host>{$inbound/ctx:transport/ctx:request/tp:headers/http:Host/text()}</host>
                        <request_body>{$copyBody}</request_body>
                   </ns2:faultResponse>
              </detail>
         </soapenv:Fault>
    </soapenv:Body>]]></con2:xqueryText>
                </con1:expr>
              </con1:replace>
              <con2:reply isError="true">
                <con2:id>_ActionId-4305915913837985194--28b0abb9.13175ecaaa7.-7cc3</con2:id>
              </con2:reply>
              <con4:log>
                <con2:id>_ActionId-556838872042008716--23ff25e2.131bcfb490d.-7fae</con2:id>
                <con4:logLevel>error</con4:logLevel>
                <con4:expr>
                  <con2:xqueryText>concat('Error while trying to query DnICT web service: ',$fault/ctx:errorCode,' : ',$fault/ctx:reason)</con2:xqueryText>
                </con4:expr>
              </con4:log>
            </con:actions>
          </con:stage>
        </con:pipeline>
        <con:flow>
          <con:pipeline-node name="GetRequestInfo_pipeline_pair">
            <con:comment>Lay cac thong tin trong form search</con:comment>
            <con:request>GetRequestInfo_pipeline_pair_request</con:request>
            <con:response>GetRequestInfo_pipeline_pair_response</con:response>
          </con:pipeline-node>
          <con:branch-node type="condition" name="branching_public_services">
            <con:context>
              <con2:varNsDecl namespace="http://www.example.org/PortalSide/" prefix="por"/>
            </con:context>
            <con:branch-table variable="depId">
              <con:branch name="SoTTTT">
                <con:operator>equals</con:operator>
                <con:value>1</con:value>
                <con:flow>
                  <con:branch-node type="condition" name="DnICT_dept_services">
                    <con:context/>
                    <con:branch-table variable="srvId">
                      <con:branch name="DichVu_1">
                        <con:operator>equals</con:operator>
                        <con:value>64</con:value>
                        <con:flow>
                          <con:route-node name="RouteToDnICT_BS" error-handler="_onErrorHandler-4305915913837985194--28b0abb9.13175ecaaa7.-7d31">
                            <con:context>
                              <con2:varNsDecl namespace="http://www.example.org/PortalSide/" prefix="por"/>
                              <con2:varNsDecl namespace="http://www.example.org/PortalSide_Test/" prefix="por1"/>
                              <con2:varNsDecl namespace="http://www.example.org/OutputSchema" prefix="out"/>
                            </con:context>
                            <con:actions>
                              <con3:route>
                                <con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7b4c</con2:id>
                                <con3:service ref="DnICT_OSB_Project/busines-services/DnictServiceBS" xsi:type="ref:BusinessServiceRef" xmlns:ref="http://www.bea.com/wli/sb/reference"/>
                                <con3:operation>selecttrangthai</con3:operation>
                                <con3:outboundTransform>
                                  <con1:assign varName="username">
                                    <con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7b4b</con2:id>
                                    <con1:expr>
                                      <con2:xqueryText>fn:string('stttt')</con2:xqueryText>
                                    </con1:expr>
                                  </con1:assign>
                                  <con1:assign varName="password">
                                    <con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7b4a</con2:id>
                                    <con1:expr>
                                      <con2:xqueryText>fn:string('123456')</con2:xqueryText>
                                    </con1:expr>
                                  </con1:assign>
                                  <con1:replace contents-only="true" varName="body">
                                    <con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7b49</con2:id>
                                    <con1:expr>
                                      <con2:xqueryText><![CDATA[<soap:selecttrangthai       xmlns:soap="http://soapinterop.org/">
         <username       xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">{$username}</username>
         <password       xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">{$password}</password>
         <masohoso       xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">{$docId}</masohoso>
    </soap:selecttrangthai>]]></con2:xqueryText>
                                    </con1:expr>
                                  </con1:replace>
                                </con3:outboundTransform>
                                <con3:responseTransform/>
                              </con3:route>
                            </con:actions>
                          </con:route-node>
                        </con:flow>
                      </con:branch>
                      <con:default-branch>
                        <con:flow/>
                      </con:default-branch>
                    </con:branch-table>
                  </con:branch-node>
                </con:flow>
              </con:branch>
              <con:branch name="SoGTVT">
                <con:operator>equals</con:operator>
                <con:value>2</con:value>
                <con:flow/>
              </con:branch>
              <con:default-branch>
                <con:flow/>
              </con:default-branch>
            </con:branch-table>
          </con:branch-node>
        </con:flow>
      </ser:router>
    </xml-fragment>

  • OSB Exposing Proxy Service as Web Service to external consumers

    Hi all,
    I am trying to expose my proxy service which I have defined in OSB11g to be exposed to external applications and consumers, rather than listening to a queue or using a business service to receive the traffic. What would be the best approach and practice to this issue? Needless to say that since I mentioned this proxy needs to be exposed as web service, I'll be expecting back response. The endpoint that I am getting as result of creating this proxy comes to be in following format:
    /<project_name>/Services/ProxyServices/MyProxy
    This fine for apps deployed on the same domain, but not if they are not deployed on the same domain.
    thanks in advance

    From the information shared you, looks like you want to create a SOAP over HTTP webservice in OSB which will be the one exposed to external consumers.
    1. So to create such a Proxy service, you will need to define the interface using a WSDL (as mentioned by Pierluigi) first.
    2. Once done, you can create a Proxy (SOAP/HTTP) based using the above WSDL. Then implement your business logic in the message flow.
    3. As a part of the configuration, you can define the context root of the service. (by default you might be getting /<project_name>/Services/ProxyServices/MyProxy)
    You can customize as required, for e.x change this to /services/MyProxy
    4. The final URL that can be used to access the above proxy will be as follow:
    http://<hostname>:<port>/services/MyProxy for HTTP
    https://<hostname>:<port>/services/MyProxy for HTTPS accordingly.
    Depending on the way your domain is configured (managed servers) you can change the hostname and port.
    So irrespective of where this service is deployed, you should be able to access it.
    Do let me know in case my understanding is incorrect.
    Thanks,
    Patrick

  • OSB 1031: proxy service and publishing JMS messages with no duplicates

    Hi all,
    we have a Web Service proxy that publishes messages into a JMS queue. The queue is persistent and the related connection factory is XA enabled.
    The proxy does the call to the JMS business service from a route node.
    If a failure occurrs after the publishing returns successfully, the caller receives back an error and it will try again to call the web service proxy.
    As the message has been published successfully and was not rollbacked by the proxy, the second call could put on the JMS queue a duplicate message.
    As far as we know only with JMS proxy service, OSB starts a transaction within the pipeline or are we wrong ?
    What do you suggest in order to avoid such a scenario described above ?
    Thanks and regards
    ferp

    Try this link to depict the behavior
    http://allthingsmdw.blogspot.com.au/2012/09/osb-service-callouts-and-oql-part-1.html

  • OSB: Configuring Proxy Service

    Hi,
    As I understand the "Proxy service" invokes the "Business service".
    Therefore when I configure the "ProxyService" there should be a "Create From Existing Service" section in the "General Configuration".
    But in my workbench I dont see the "Create From Existing Service" section.
    There is no way I can link the Proxy and the Business services.
    Any idea why that section is missing in my workbench and how to resolve it?
    Regards,
    Deepak

    Hi Deepak,
    Good catch. I never observed this specific thing through the Workbench. Yes through the workbench this options seems to be unavailable.
    You can invoke the business service via the Proxy Service by creating a route node and then selecting the business service in the route node configuration.
    this way your proxy service can invoke the business service.
    This might not be the solution you are looking for, but still wanted to let you know that it is not a must to use the "Create From Existing Service" option. The ""Create From Existing Service" would in turn also do the same thing (marked in bold). You can check this out using the sbconsole. :)
    Hope this helps.
    Thanks,
    Patrick

  • Which is the best API for creating restful web services.

    Hi guys,
    I have tried a lot of apis to create a restful web service. But none of them has perfect documentation or examples. Which is the best one that has good support and future.

    "Best" automatically implies opinions and speculation; one I personally believe has a bright future is Jersey. Jersey is the reference implementation (RI) for [JSR-311|http://jcp.org/en/jsr/detail?id=311] ("The Java API for RESTful Web Services" or JAX-RS).

  • OSB Business -Proxy Service

    Hi,
    I need to call WSDL which has 2 operations. I need to pass default xml payload to operation 1 and the response I get, has to be passed to invoke operation 2. I have created 2 business services and after I create a proxy service :
    How to pass default xml to business service 1 ?
    How to pass response from business service 1 to business service 2 ?
    Thanks

    somebol, Prabhu
    If I use Service Callout , I see Request Document Variable where I can pass in the request ($body/<request>), as you mentioned.But, the default XML payload to business service does not come as input to Proxy Service, I need to pass that XML payload explicitly to business service op1.
    I was thinking if I have to use assign or replace to pass the XML payload to business service op1, but I am not sure how to do in my Proxy.
    My Input to Proxy Service is date , which at this point is not used anywhere.
    Thanks

  • Custom Layout for Web Dynpro Proxy page

    Hey all
    I have a requirement to display 4-5 Web Dynpro for ABAP iViews on a page. 
    I have the option of using the standard PRT page to display these iViews for which I can create a custom layout using com.sap.portal.layouts.default.par and the simple JSP layout file in it.
    However, they should really be on a Web Dynpro Proxy page but custom layouts created using above component wont work. 
    In the document [Integrating Web Dynpro and SAP NetWeaver Portal|https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/0c7b2f25-0c01-0010-f2a2-f8a65a9dcad9] it says -
    Within the SAP NetWeaver 04s release it is not possible to define application specific page layouts for Web Dynpro pages. Within the SAP NetWeaver 07 release this will be possible. Layouts for Web Dynpro page are implemented then as Web Dynpro components implementing a special ILayout Web Dynpro component interface.
    Has this been released as yet?
    Anyone find the APIs or workaround for this?
    Cheers

    I have the same question, but can't find any good solutions for this.
    For standard portal applications you can use com.sap.portal.design.layouts and modify layouts via JSP. But all webdynpro proxy pages are using their own layout.
    I'd like to change that layout too.
    Anyone?
    Cheers,
    Noel
    I am using NW 701

  • WSDL for getDataExport Restful Web Service

    Hello Folks,
    As per documentation http://help.sap.com/saphelp_sop301/sop301_api_en.pdf
    API uses RESTful WS getDataExport from 3.0 onwards..
    I am trying to call this WS from ECC. How I can get its WSDL file.
    Since URIs mentioned in file seems not working.
    Please suggest.

    A related question: can one expose a servlet as web service (Document style). How to do that?

  • How to specify the JMS Client ID in Proxy Service of OSB 11.1.1.5 version ?

    Hi All,
    I am looking for an option to set the JMS clientID for a JMS Proxy services in OSB. Can this feature available in OSB 11.1.1.5 version?
    Thank you,
    Ram.

    These links will helpful for you.
    http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_train.html
    http://download.oracle.com/docs/cd/E15523_01/apirefs.1111/e12419/tagdoc/af_train.html

Maybe you are looking for

  • Why does my iTunes show apps in two different groups?

    When I open my iTunes 10 and look at the Apps tab, it shows my iPhone and iPad apps distributed amongst two different groups: iPhone, iPod Touch and iPad Apps and iPhone and iPod Touch apps.  I don't really understand this as I don't have a iPad.  An

  • Dynamically enable a field based on a selected table row

    Hi everyone. I'm getting really confused right now, please show me the right way. My approach may be, and probably is, wrong since I am self learning this and all I have is an ASP.NET background. I have a page with a table in it. I've created a DataC

  • Changes to Private Messaging Notifications

    Hi All After getting feedback from different forum members I have made a change to the Private Messaging (PM) email notifications.  You may not have known, but it is possible to set up an email alert to let you know when you get a private message.  S

  • Important Interview Questions

    hi friends, Answer the below question..... What is JAR file ? What is JNI ? What is the base class for all swing components ? What is JFC ? What is Difference between AWT and Swing ? Considering notepad/IE or any other thing as process, What will hap

  • Display item level Error in ME21N

    i want to display an Item level message in ME21N. Currently the messages are been displayed but all the messages are displayed at the header level. im using an exit for the custom validation which I am doing. how can we indicate the message for each