OracleServiceBus Business Service Endpoints user 9096491

Question1:
I am having 3 business service endpoint with 3 business specifications(WSDL's). But I do not want to create a business service for each business service endpoints. I am creating one business service with end point. how to change the existing business service endpoint according the business? if any way to pass the other endpoints to the existing business service please provide me the answer.
Proxy----> BusinessService(3 endpoints)
Questions2: If it achievable by using dynamic Routing means how?

Use routing options to sepcify the endpoint at runtime of business service. However this would be possible only if all the three wsdls are same. http://docs.oracle.com/cd/E23943_01/dev.1111/e15866/ui_ref.htm#i1290930
If you have 3 different wsdls and then you cam use dynamic routing, but in this case you wil have to create 3 business service.

Similar Messages

  • List Business Services Endpoints with WLST

    Hi,
    We're using OSB 11.1.1.3 and 11.1.1.6 in several environments.
    We just need to use wlst scripting to keep track of all business services and their endpoint uri's automatically.
    We tried using some old scripts but found out that they don't work on 11g installations:
    We tried the following code:
    connect('weblogic','oracle10','t3://soavm2:7001')
    domainRuntime()
    sessionName = "FindServicesSession" + str(System.currentTimeMillis())
    sessionMBean = findService(SessionManagementMBean.NAME, SessionManagementMBean.TYPE)
    sessionMBean.createSession(sessionName)
    servConfMBean = findService(ServiceConfigurationMBean.NAME + "." + sessionName, ServiceConfigurationMBean.TYPE)
    alsbCore = findService(ALSBConfigurationMBean.NAME, ALSBConfigurationMBean.TYPE)
    allRefs=alsbCore.getRefs(Ref.DOMAIN)
    for ref in allRefs:
    typeId = ref.getTypeId()
    if typeId == "BusinessService":
    serviceDefinition = servConfMBean.getServiceDefinition(ref)
    endpointConfigration = serviceDefinition.getEndpointConfig()
    print endpointConfigration
    We get a "AttributeError: 'NoneType' object has no attribute 'getServiceDefinition'" error. It seems that it is related to metalink note "How To Modify Service Configurations By OSB JMX API [ID 1431254.1]". However the code provided there is for java through jmx, does anybody has a working example of how to do that on wlst?
    Thanks!

    Hi Marc,
    What i found is that we can get list of business services URIs by consulting SERVICE_URI_TABLE...
    Here's a script that reads a parameter file (which can have multiple domains information) with connection info and then gets all services and prints a list of the service name and URI on a file for each domain...
    # params.txt format:
    # user,passwd,admin-url
    # Ej:
    # weblogic,weblogic1,t3://adminsoa:7001
    # weblogic,weblogic100,t3//adminsoa2:7001
    import wlstModule
    from com.bea.wli.sb.management.configuration import SessionManagementMBean
    from com.bea.wli.sb.management.configuration import ALSBConfigurationMBean
    from com.bea.wli.sb.management.configuration import BusinessServiceConfigurationMBean
    from com.bea.wli.sb.util import EnvValueTypes
    from com.bea.wli.config import Ref
    from com.bea.wli.sb.util import Refs
    from xml.dom.minidom import parseString
    f1 = open('/tmp/params.txt','r')
    for line in f1:
    spline=line.split(',')
    usr=spline[0]
    pwd=spline[1]
    url=spline[2].replace("\n","")
    try:
    connect(usr,pwd,url)
    domName=cmo.getName()
    domainRuntime()
    sessionMBean = findService(SessionManagementMBean.NAME,SessionManagementMBean.TYPE)
    sessionName="WLSTSession"+ str(System.currentTimeMillis())
    sessionMBean.createSession(sessionName)
    alsbSession = findService(ALSBConfigurationMBean.NAME + "." + sessionName, ALSBConfigurationMBean.TYPE)
    alsbCore = findService(ALSBConfigurationMBean.NAME, ALSBConfigurationMBean.TYPE)
    allRefs=alsbCore.getRefs(Ref.DOMAIN)
    fileName='/tmp/'+domName+'_'+url.replace('t3://','').replace(':','')+'_BServicesLista.csv'
    f2 = open(fileName, 'w')
    f2.write('Name'+','+'URL'+'\n')
    for ref in allRefs:
    typeId = ref.getTypeId()
    if typeId == "BusinessService":
    name=ref.getFullName()
    uris=alsbSession.getEnvValue(ref, EnvValueTypes.SERVICE_URI_TABLE, None)
    xml=parseString(uris.toString())
    xmlTag = xml.getElementsByTagName('tran:URI')[0].toxml()
    xmlData=xmlTag.replace('<tran:URI>','').replace('</tran:URI>','')
    f2.write('\"'+name+'\"'+','+'\"'+xmlData+'\"'+'\n')
    f2.close()
    except Exception,e:
    print "Error trying to connect to " + url + 'Error: ' + str(e)
    f1.close()
    disconnect()
    It's been working for us so far...

  • Different number of Business service endpoint for prod/non prod env in OSB

    Hi,
    I have a scenario in my project. We have 2 managed servers in all non production environment and 4 servers in production environment.
    In non production environments, have added 2 end point uri in the business service. If we create customization file from this, it will have only 2 endpoint uri details.
    Now problem is how to get all 4 enpoint uri added for production environment. Dont know how if we try to add 2 uris in customization file will work fine or not. Also it will be very cumbersome as there are more than 100 business services.
    Tried with comma seperated urls, but load balancing is not happening. Same thing when cluster address is used.
    Any pointers on this will be helpful.
    Regards,
    Pravin
    Edited by: pravinkapile on Sep 29, 2009 9:39 PM

    Hi..
    There's several ways to do it.. What I prefer to do is to generate the customization files and have a seperate set for each environment. As you say hand modifying the customization files is a pain (and error prone), so I wrote a program to generate the customization files.. basically it runs against my local dev environment, creates an edit session, modifies the env values (these are held in a properties file (easier to maintain)), exports the customization files and sbconfig jars, then discards the edit session.
    I then use a wlst/jmx script to perform the imports and running the customization files, then after the customization is ran, then I have a section that modifies the business service with multiple endpoints to set them up to load balance/failover..
    this is the function in my utils script to set the load balancing/failover....
    #=======================================================================================
    # Routine to modify all Business Endpoints with multiple URI's to set the Loadbalancing
    # algorithm to Round-Robin -
    #   Input must be an editable instance of an ALSBConfigurationMBean.
    #=======================================================================================
    def configureMultipleBSEndpoints(domainService, alsbSession):
      try:
        # get the Service config MBean
        servConfMBean = getServiceConfigurationMBean(domainService, alsbSession.getSession())
        bsQuery = BusinessServiceQuery()
        bsRefs = alsbSession.getRefs(bsQuery)
        changesToCommit = cju.parseBoolString("false")
        for bsRef in bsRefs:
          modificationsMade = cju.parseBoolString("false")
          serviceDefinition = servConfMBean.getServiceDefinition(bsRef)
          endPointConfig = servConfMBean.getEndPointConfiguration(bsRef)
          if endPointConfig.getURIArray().__len__() > 1:       
            outBoundProps = endPointConfig.getOutboundProperties()
            if outBoundProps.getLoadBalancingAlgorithm() == LoadBalancingAlgorithmEnum.NONE:
              outBoundProps.setLoadBalancingAlgorithm(LoadBalancingAlgorithmEnum.ROUND_ROBIN)
              modificationsMade = cju.parseBoolString("true")
            if outBoundProps.getRetryApplicationErrors():
              outBoundProps.setRetryApplicationErrors(cju.parseBoolString("false"))
              modificationsMade = cju.parseBoolString("true")
            retryCount = endPointConfig.getURIArray().__len__() - 1
            if outBoundProps.getRetryCount() != retryCount:
              outBoundProps.setRetryCount(retryCount)
              modificationsMade = cju.parseBoolString("true")
            if outBoundProps.getRetryInterval() != 2:
              outBoundProps.setRetryInterval(2)
              modificationsMade = cju.parseBoolString("true")
            serviceOpsEntry = servConfMBean.getServiceOperations(bsRef)
            if cju.booleanToString(serviceOpsEntry.isTakingURIOfflineEnabled()) == "false":
              serviceOpsEntry.setTakingURIOfflineEnabled(cju.parseBoolString("true"))
              serviceOpsEntry.setDelayInterval(15);
              modificationsMade = cju.parseBoolString("true")
            if modificationsMade:
              print 'endpoint configuration modifications made to - ' + bsRef.getFullName()
              hmServiceOpEntries = HashMap()
              hmServiceOpEntries.put(bsRef, serviceOpsEntry)
              endPointConfig.setOutboundProperties(outBoundProps)
              serviceDefinition.setEndpointConfig(endPointConfig)
              servConfMBean.updateService(bsRef, serviceDefinition)
              servConfMBean.updateServiceOperations(hmServiceOpEntries)
              changesToCommit = cju.parseBoolString("true")
        return changesToCommit
      except:
        print "Unexpected error:", sys.exc_info()
        print 'Failed to Configure Business Service Multiple Endpoints LoadBalancing Algorithm '
        raise..Mark.

  • OSB problem posting 5MB body to a business service endpoint

    Hello,
    I have an https endpoint they results in a Broken pipe exception after running for about 10mins if I send a SOAP body greater than 5MB. If I send the same request to this endpoint using SOAPUI (no OSB involvement) it works fine and completes in <1min, it only fails through OSB. Also if the request is less than 5MB it works fine through OSB and again completes in <1min.
    I've tried calling a proxy service (through test console and SOAPUI) and the business service (through test console) and all fail with the same broken pipe exception. Below is the constant state of the thread during this 10min period.
    "[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x02fa6400 nid=0x16 runnable [0xb19fd000..0xb19ffaf0]
    java.lang.Thread.State: RUNNABLE
         at java.net.SocketOutputStream.socketWrite0(Native Method)
         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
         at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
         at com.certicom.io.OutputSSLIOStream.write(Unknown Source)
         at com.certicom.tls.record.WriteHandler.flushOutput(Unknown Source)
         at com.certicom.tls.record.WriteHandler.write(Unknown Source)
         at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
         at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
         - locked <0xe70af568> (a java.io.BufferedOutputStream)
         at weblogic.net.http.HttpOutputStream.write(HttpOutputStream.java:22)
         at weblogic.utils.io.UnsyncByteArrayOutputStream.writeTo(UnsyncByteArrayOutputStream.java:104)
         at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:162)
         - locked <0xcefd08f8> (a weblogic.net.http.SOAPHttpsURLConnection)
         at weblogic.net.http.HttpURLConnection.writeRequestForAsyncResponse(HttpURLConnection.java:492)
         at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:190)
         at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:152)
         at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:313)
         at com.bea.wli.sb.transports.http.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:564)
         at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    I am running OSB 10.3.0 on SPARC Solaris using Sun JVM.
    Any ideas/suggestions?
    Many thanks,
    Mike.

    Hello,
    I've tried content streaming but it made no difference. Maybe I've misunderstood content streaming but I thought you use this when body variable in the pipeline pair of a proxy is too big to manipulate in memory. In my scenario this is not a problem (I can report on the body fine just before I route to the business service) the only issue occurs when I call the business service with a request greater than 5MB.
    I've already adjusted the WLS timeouts/message sizes as follows:
    Max Post Size = -1 (although I think this is only used for POST to WLS rather than the other way around)
    Max Message Size = 50000000
    JTA timeout = 60
    The only stack trace is for the broken pipe:
    ####<30-Mar-2010 08:35:57 o'clock BST> <Debug> <AlsbTransports> <int-app-04> <RSPCA_ESB_Server1> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1269934557943> <BEA-000000> <LoadBalanceFailoverListener.sendMessageToServiceAsync
    com.bea.wli.sb.transports.TransportException: Broken pipe
    at com.bea.wli.sb.transports.TransportException.newInstance(TransportException.java:195)
    at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:370)
    at com.bea.wli.sb.transports.http.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:564)
    at sun.reflect.GeneratedMethodAccessor327.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    at $Proxy60.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:543)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:478)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:583)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatch(PipelineContextImpl.java:498)
    at stages.routing.runtime.RouteRuntimeStep.processMessage(RouteRuntimeStep.java:128)
    at com.bea.wli.sb.pipeline.StatisticUpdaterRuntimeStep.processMessage(StatisticUpdaterRuntimeStep.java:41)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:339)
    at com.bea.wli.sb.pipeline.RouteNode.doRequest(RouteNode.java:106)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:191)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:75)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:508)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:506)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:505)
    at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:371)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:279)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:277)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.securedInvoke(HttpTransportServlet.java:276)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.service(HttpTransportServlet.java:237)
    at com.bea.wli.sb.transports.http.HttpTransportServlet.service(HttpTransportServlet.java:133)
    at weblogic.servlet.FutureResponseServlet.service(FutureResponseServlet.java:24)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at com.certicom.io.OutputSSLIOStream.write(Unknown Source)
    at com.certicom.tls.record.WriteHandler.flushOutput(Unknown Source)
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
    at weblogic.net.http.HttpOutputStream.write(HttpOutputStream.java:22)
    at weblogic.utils.io.UnsyncByteArrayOutputStream.writeTo(UnsyncByteArrayOutputStream.java:104)
    at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:162)
    at weblogic.net.http.HttpURLConnection.writeRequestForAsyncResponse(HttpURLConnection.java:492)
    at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:190)
    at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:152)
    at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:313)
    at com.bea.wli.sb.transports.http.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:564)
    at sun.reflect.GeneratedMethodAccessor327.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    at $Proxy60.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:543)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:478)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:583)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatch(PipelineContextImpl.java:498)
    at stages.routing.runtime.RouteRuntimeStep.processMessage(RouteRuntimeStep.java:128)
    at com.bea.wli.sb.pipeline.StatisticUpdaterRuntimeStep.processMessage(StatisticUpdaterRuntimeStep.java:41)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:339)
    at com.bea.wli.sb.pipeline.RouteNode.doRequest(RouteNode.java:106)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:191)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:75)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:508)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:506)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:505)
    at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:371)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:279)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:277)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.securedInvoke(HttpTransportServlet.java:276)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.service(HttpTransportServlet.java:237)
    at com.bea.wli.sb.transports.http.HttpTransportServlet.service(HttpTransportServlet.java:133)
    at weblogic.servlet.FutureResponseServlet.service(FutureResponseServlet.java:24)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Thanks,
    Mike.

  • Oracle Service Bus - Business Service Endpoint URI - Change at runtime

    Hi,
    Is there a way of changing/passing the endpoint URI to a Business Service at runtime? The reason for my question is that depending on the content of the message in a Proxy Service that calls this Business Service I may need to change the URI.
    Kind Regards,
    Adel

    Adel,
    Is there some use-case limitation that would stop us from using Dynamic routing ?
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1100135.
    DynamicRouting /Dynamic publish can be considered depending on the use-case.
    Other option is to use Routing options: Modify any or all of the following properties in the outbound request: URI, Quality of Service, Mode, Retry parameters, Message Priority.
    Manoj

  • Oracle Service Bus - Business Service Endpoint URI - Dynamic

    Hi,
    I'm trying to find a way to avoid hard-coding the endpoint URI in a business service. The reason I need to achieve this is because for the different environments (development, testing, production, etc...) the URI will be different.
    I have spent the past 2 days searching the oracle forum and documentation but have come up with nothing. Is there a way to achieve this?
    Preferably, is there a way to store the endpoint URIs in a configuration/properties file which can be changed when needed?
    Any help is much appreciated!
    Best Regards,
    Adel Haider

    Hi Adel,
    Customization file will be the best solution for your problem. You may generate a environment specific customization file. To know more, please refer -
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/consolehelp/customization.html#wp1129087
    Simplest solution would be to generate a customization file and replace the existing URI's with the required one's using replace all option of textpad. Run this customization file at target environment, after importing the OSB configuration.
    Regards,
    Anuj

  • How do I build a dynamic business service URL in OSB 11g?

    Hello,
    I am used to using the business service endpoint URIs that we configure on the Transport tab of our business services in OSB 11.1.1.6.  We can add multiple static entries here for load balancing, and we can overwrite these with a Customization File as we migrate through DEV, TEST, PROD.  Everything's just fine there.
    I now need to start consuming RESTful services with dynamic URLs such as:
    http://host:port/customer/{customerId}
    that would result in HTTP calls to values like:
    http://host:port/customer/12345678
    and
    http://host:port/customer/55555555
    I see that I can build the URI using the Routing Options action in our proxy message flow and throw in all of those variable values at runtime.  This is working in DEV just fine.  And, effectively, I've overridden the business service endpoint URIs that we configured in the Transport.
    But now I want to:
    1) Use multiple endpoint URIs for our cluster
    2) Deploy to TEST
    What is the proper way to do this?  I would guess in the business service endpoint URIs in the customization file, but I don't know how to parameterize those.  I would also guess customization file find/replace functionality to change the host:port in my Routing Options action, but then that would still be just a single-node endpoint and not a pointer to multiple servers in our cluster.
    Can someone please advise the best way to configure these dynamic URLs at runtime while still allowing for clustered endpoints and for customization files to be applied as we promote through our environments?
    Thank you,
    Michael

    Found some old code.
    I think you need to do
    property_text = "#"^variable_text
    then you can do the following
    property_list[1][property_text]
    That seemed to work.

  • ALSB passing NTLM security credentials to end point URL in business service

    Hi,
    We are using AXIS API to pass NTLM authentication details to SharePoint Web Service by setting the user name and password details as below.
    call.setUsername
    call.setPassword
    This is working fine when we invoke the MOSS search WSDL directly. However, when we introduce ALSB in between and create proxy and business service, the user name and password set using call.setUsername and call.setPassword are not passed correctly and we are getting the below error.
    BEA-380000: Unauthorized
    Could any one help how this can be resolved?
    Thanks
    Sampath

    RK,
    Use the *$inbound/ctx:transport/ctx:request/http:query-string* element to get all the arguments in the URL.
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/httppollertransport/transports.html#wp1083292.
    After that You can have conditional routing to Route it specific BS either Fiction BS or WarBased BS or you can try using Routing Table.
    For doing that do i need to maintain any schema for Business Service?No , I think if you just need to route the request to JMS BS coming from Other Application,
    But if You want to validate the request which you would be sending to BS then use schema to validate your incoming request.
    Regards,
    Abhinav

  • Service Callout to HTTP Post Business Service?

    Hi,
    I have created a "Business Service" with following config,
    1) Any XML Service
    2) Prtocol- HTTP
    3) HTTP Request Method- Post.
    I have created a Proxy Service , which is "Any XML Service" based on HTTP ptotocol.
    inside the message flow of proxy service i am routing to the Above Business Service passing query parameter. The business service returns an XML.
    How do i make a service callout to the business service assing a query string?
    I need this functionality to work because i have to call multiple business service (endpoint is a jsp which accepts query string) inside a proxy service and retreive xml from response , merge them and send it back to the client(invoking proxy service).
    Thanks,
    Anup

    Hi Gregory,
    In fact when i used route node to invoke a business service i modified "URL dynamically by setting the value in the pipeline variable $outbound", it worked here.
    Same i tried on Service Callout, it did not work. Also when we create a service callout action it expects us to select either "confugure soap body" or "configure payload document" followed by
    1) Request Document variable
    2) Response Document variable.
    What parameter should i set for above fields?
    Thanks,
    Anup

  • 10Gr3 OSB business service is unable enqueue to 11Gweblogic server

    Hi
    we have configured business ervice in 10GR3 OSB to send the message to the queue which is on 11G weblogic server(10.3.1) and always geting the error
    connection not found jms://remotIPaddress:7001/cnf/Qjndiname.
    any help regarding this would be great.
    Thanks,
    Narasimha.

    Hey these are my configuration steps:
    1.Created JMs module and targeted to wlsbJMSServer
    2.Created subdeploymnet
    3..Created CF and attached Subdeployment
    4.Created Queue and attached Subdeployment
    5.Created foreign server
    with these values
    JNDI Initial Context Factory:weblogic.jndi.WLInitialContextFactory
    JNDI Connection URL:t3://remoteIPaddress:7001
    JNDI Properties Credential:weblogic1
    attached the same Subdeployment
    under destinations:
    created foreign destion with my local jndi name(created in step4) and remote jndi name
    created foreign CF with my local CF jndi name(created in step3) and remote CF jndi name
    and in business service endpoint selected the jms transport and uri is
    jms://localhost:7001/jms.localCF/jms.LocalQJNDIname
    this is enquing to my local queue but not to the remote queue.
    pls help me out. its very urgent
    Edited by: user13154768 on Jul 14, 2010 3:43 AM

  • Setting an endpoint dynamically for a business service

    I need to set an endpoint for a business service dynamically in the message flow of a proxy service. I'm basically doing what it says in this article(page 9 under heading - Registry per Individual Domain):
    http://e-docs.bea.com/alsb/docs26/pdf/deploybestprac.pdf
    I've gone to the link to the User guide that it gives in there for "Using Dynamic Routing". And I've pieced together most of what I need to do. I have a dummy business service with a dummy URL. I'm making a service callout and getting and endpoint back and saving that endpoint address to a variable. (that's all in a stage in a pipeline node.) Then I dynamically route it to dummy business service. The part I don't know how/where to do is reassign the dummy business service's endpoint to the endpoint I got back from my service callout.
    Can anyone help me with this?
    Thanks,
    Brittany

    Try with a 'Dynamic publish to service' action with:
    <ctx:route isProxy="false">
    <ctx:service>{ $yourBusinessService }</ctx:service>
    </ctx:route>
    where $yourBusinessService is the variable hosting the uri of your business service.
    Regards
    ferp

  • OSB : Endpoint URI problem in business service

    I have to invoke a http service from OSB where endpoint uri is http://<ip>:<port>/Resource.
    At invocation time OSB is adding "?" to the end of URI, in that case http message is becoming like following:
    POST /Resource? HTTP/1.1
    External service is considering it as a bad request and giving 500 response code with following comments:
    Error occured: 500, Cannot find local resource: /Resource?
    But I am getting proper response when I am calling from java program with http message POST /Resource HTTP/1.1
    It is not possible to change the external system, now how can I solve the problem??
    Please help.
    Thanks
    Afzal
    Edited by: uttam on May 2, 2012 9:49 PM

    Open your business service and navigate to HTTP Transport configuration page and check what is the http type is enabled.
    Look to me its with GET method, change it to POST and re-try.
    If the above solution is not helping, try to check the Follow HTTP redirects check box below the Advanced Setting in same page.
    Thanks,
    Vijay

  • How to get specific OSB business service HTTP endpoint failover?

    I am trying to get the following behavior in an HTTP Business Service in OSB, and I'm not finding the answer (if it exists) in the docs.
    I have two backend endpoints, "production" and "backup." I want all request to go to the "production" endpoint unless it becomes unavailable. At which time all requests should go to the backup endpoint - without manual intervention. Automatic failback would be nice but not absolutely necessary. This is what the service provider is recommending for their operational concerns.
    Is there some way to accomplish this?
    The backup is available at most times, so we can't use round-robin load balancing to get this behavior.
    Is this what having a load balancing algorithm of "none" accomplishes? The docs state the order in this case is significant, but not why?
    Random-weighted does not work, as it does not allow a zero weight, which means some requests (even if small in proportion) may go to that backup even if the primary is available.

    I'm now seeing this in real operation, and I'm seeing something that puzzles me based on the discussion above, and also a behavior I'd like to change if I can.....
    First, the puzzlement - of about 6700 invocations over the space of a few hours, I see in the console 9 errors in the primary as configured above, and 9 messages handled successfully by the secondary. So, since the messages are coming on a fairly regular basis (a few per minute, spread over 3 OSB instances), and I have a 10 min retry interval, I would have expected to see a lot more messages handled by the secondary endpoint while OSB instance was waiting 10 min to retry the primary. What's going on here? Does this class of "failure" not take an endpoint "offline?"
    Second, behavior I want to change: the errors are apparently intermittent SSL HANDSHAKE_FAILUREs reported by the backend. Is there anyway to get the primary retried first, since we only want traffic to go to the backup if the primary is really offline?
    /Steve Elkind
    ####<Dec 22, 2009 10:45:14 PM EST> <Warning> <Security> <njxymh0099> <SS_ESB_mgd2> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1261539914730> <BEA-090497> <HANDSHAKE_FAILURE alert received from fobar-web02.inex.com - 207.235.231.231. Check both sides of the SSL configuration for mismatches in supported ciphers, supported protocol versions, trusted CAs, and hostname verification settings.>

  • Relationship user / Business Services

    How to associate a business service to a user in Service Manager

    Hi,
    You can do it manually directly on the business service : Service owner, service contacts ...
    For more informations check this :
    http://www.concurrency.com/infrastructure/business-services-in-service-manager/
    Remy BOVI

  • Log endpoint URI of  a Business Service OSB

    Hi,
    I want to log the endpoint URI of a business service (OSB) that I'm calling from a proxy service. Can anybody tell me how to do this?
    Thanks in advance!
    Martín.-
    Edited by: 876766 on Aug 16, 2011 7:31 AM

    In the response (pipeline) you have this attribute: $outbound/ctx:transport/ctx:uri.

Maybe you are looking for

  • The Endless Battle With Iphone Syncing

    I've been having nothing but problems syncing my reasonably new iPhone with my contacts. When I first got it, I immediately entered contact info into the iPhone itself. I put in some numbers, some names, a couple pictures for my contacts. Then when I

  • Updated iPad system how do I get my apps back onto my iPad from iTunes. Ikerfuffled here

    I just updated my iPad to IOS 5. How do I get my apps that were on my iPad back into it from iTunes? thank you for any help you may give me.

  • Vat code in MRKO

    Hi, I have created a consignement record with vat code. When I m doing the MRKO the system doesn't take the vat from consignement info record but another one. I don't know where THE VAT is from Anybody have an idea? Thanks for your help Regards Elmka

  • Error oracle.apps.fnd.framework.OAException: Application:  in jdev

    Hello, I am facing one error in jdev . while running the OAF page suddenly i am getting following error. Yesterday it was working fine and even I have not changed anything. Even Toolbox tutorial pages are erroring out with this error. My connection s

  • Audio won't play after audio render

    I have an MP3 on audio track 1 in Premiere/CS4, placed underneath video clips which I've unlinked from the audio and deleted/cleared those unlinked audio files.  The MP3 file plays fine until I render the timeline and then it stops playing.  If I 'do