XPath expresion problems in OSB(ALSB)

Hi,
I´m working on a OSB Proxy with a conditional Branch, but I have a problem, looking to some examples in the web about xPath it is supposed that this xPath expresion:
*/iniciarCambio/cambios/companiaTipo*
with this XML:
*<iniciarCambio>*
*<cambios>*
*<ListaDeCambios>*
*<!--1 or more repetitions:-->*
*<Cambio>*
*<campoNombre>Cambio1</campoNombre>*
*<valorAnterior>antes</valorAnterior>*
*<valorNuevo>despues</valorNuevo>*
*</Cambio>*
*</ListaDeCambios>*
*<companiaId>32</companiaId>*
*<companiaNombre>MMRedes</companiaNombre>*
*<companiaTipo>Servicio</companiaTipo>*
*</cambios>*
*</iniciarCambio>*
Should return:
Servicio
But we are executing this in the Test Tool and it is returning this:
*<companiaTipo>Servicio</companiaTipo>*
Has some body struggled with this kind of issues? is there a way to make this on the OSB xPath? or am I missing someting?
Tanx alot in advanced!
Kind Regards,
Gerardo J

Hi all!
Thanx for the answers! I have tried in the past the /text() I tried it again and didn´t worked, some body knows how can I post some screen shots so you can see that I´m using the /text() and maybe with the screen shot you can detect something, also I´m loging the $body in the default branch(cause it is not detecting the value between the tags it goes directly to the Defaul Branch) you will se some differences in the XML since I simplified the XML to make the example and tested this simplified XML it in the TEST Tool in the console and had the same results that with the original evendough I put the /text() at the end
Here is the Body I loged in the default Branch:
<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<imp:iniciarCambio xmlns:imp="http://bea.com/albpm/MMME/ImpactarCambiosClienteBILLING">
<cambios xmlns:bea="http://bea.com/">
<bea:ListaDeCambios>
<!--1 or more repetitions:-->
<bea:Cambio>
<bea:campoNombre>Cambio1</bea:campoNombre>
<bea:valorAnterior>antes</bea:valorAnterior>
<bea:valorNuevo>despues</bea:valorNuevo>
</bea:Cambio>
</bea:ListaDeCambios>
<bea:companiaId>32</bea:companiaId>
<bea:companiaNombre>MMRedes</bea:companiaNombre>
<bea:companiaTipo>Servicio</bea:companiaTipo>
</cambios>
</imp:iniciarCambio>
</soapenv:Body>>
as you can see it is Servicio and it should have gone to one of the branches instead of the default but it didn´t
Can´t see what I´m doing wrong, but maybe some of you can.
Thanx in advanced!
Gerardo J

Similar Messages

  • OSB (ALSB) Logging Redirect

    Hi all,
    how to redirect all the OSB(ALSB) related message logs ( Errors and transport exceptions included ) to a log4j custom file.
    Now, given this discussion:
    alsb logging
    The way to go is, apparently, to
    1. create filters at domain level by subsystem (or context_id or whatever else)
    2. create a startup class to catch all log messages and to filter in only those ones you are interested in using, in your filter class, filters like " startsWith("ALSB)) " (equivalent of domain filter "Subsystem LIKE ALSB% " )
    Now given all the following list of OSB (ALSB) related subsystems
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/messages/indexa.html
    *Is there a better approach then creating a filter class per each subsystem ?*
    Regards,
    Tony P.

    There doesn't seem to be 64bit version of OSB at all for Windows. [http://download.oracle.com/docs/cd/E13196_01/platform/suppconfigs/configs_al10gr3/osb10gr3/overview.html]

  • Problem with OSB 11g - Unable to call non-static java methods

    I have a problem in OSB. Unable to see any java methods when loading java callout. I have checked the java classes in the .jar file and they are all non-static java methods.
    Is there any way where OSB is able to see this non-static java methods?
    Need help urgently!
    Thanks!

    Technical standpoint: Do you know why OSB is not able to call non-static methods?
    This is by design. Ability to call non-static methods require Object creation which adds additional complexity. eg How to pass variables in constructor?. How/where to store created object for use across across pipeline instance?. Object life cycle (when and how to create object) etc. To avoid above complexites static methods are only supported.
    "a lot of non-static method to call" just for my understanding what are the number involved?. If number is too high you can always request for a enhancement.
    Thanks
    Manoj

  • SOA suit 11g uses both ESB and OSB(ALSB)

    Hi, I am newbie to SOA suit 11g. Can somebody please explain the use of ESB and OSB(ALSB) both in SOA 11g.In SOA 11g ESB is being used only for mediation.Even OSB(ALSB) has same capability.Then why both needs to be used?Can't we use one of these?
    ~Pradeep

    hello Pradeep,
    there is quite some literature on this hot topic - actually it's one of the most frequently asked question from people who are using OSB and Soa Suite.
    if you google "OSB vs Mediator" you will find some useful links:
    http://www.scribd.com/doc/23622536/Oracle-SOA-Suite-11g-Mediator-vs-Oracle-Service-Bus-OSB
    SOA SUITE 11g - Mediator & OSB
    http://oracle-fusion-blogs.com/oracle-fusion-osb-mediator/
    and so on....

  • Support of exslt in OSB/ALSB

    Hi,
    Does OSB/ALSb support extended xslt functions i.e exslt(http://exslt.org/functions)?
    When I tried to import/save an xslt having exslt functions, it gives an error
    An error occurred compiling the XSLT template: javax.xml.transform.TransformerException: weblogic.apache.xml.utils.WrappedRuntimeException: Could not find variable with the name of val.
    and the function is defined in xsl as :
    <func:function name="ctvf:convertToNumber">
    <xsl:param name="val"/>
    <xsl:variable name="strVal" select="string($val)"/>
    <xsl:choose>
    <xsl:when test="$strVal = 'NaN'">
    <func:result select="''"/>
    </xsl:when>
    <xsl:otherwise>
    <func:result select="$strVal"/>
    </xsl:otherwise>
    </xsl:choose>
    </func:function>
    where namespaces in the header are as:
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:func="http://exslt.org/functions"
    Thanks,
    Rajesh

    Hi all!
    Thanx for the answers! I have tried in the past the /text() I tried it again and didn´t worked, some body knows how can I post some screen shots so you can see that I´m using the /text() and maybe with the screen shot you can detect something, also I´m loging the $body in the default branch(cause it is not detecting the value between the tags it goes directly to the Defaul Branch) you will se some differences in the XML since I simplified the XML to make the example and tested this simplified XML it in the TEST Tool in the console and had the same results that with the original evendough I put the /text() at the end
    Here is the Body I loged in the default Branch:
    <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <imp:iniciarCambio xmlns:imp="http://bea.com/albpm/MMME/ImpactarCambiosClienteBILLING">
    <cambios xmlns:bea="http://bea.com/">
    <bea:ListaDeCambios>
    <!--1 or more repetitions:-->
    <bea:Cambio>
    <bea:campoNombre>Cambio1</bea:campoNombre>
    <bea:valorAnterior>antes</bea:valorAnterior>
    <bea:valorNuevo>despues</bea:valorNuevo>
    </bea:Cambio>
    </bea:ListaDeCambios>
    <bea:companiaId>32</bea:companiaId>
    <bea:companiaNombre>MMRedes</bea:companiaNombre>
    <bea:companiaTipo>Servicio</bea:companiaTipo>
    </cambios>
    </imp:iniciarCambio>
    </soapenv:Body>>
    as you can see it is Servicio and it should have gone to one of the branches instead of the default but it didn´t
    Can´t see what I´m doing wrong, but maybe some of you can.
    Thanx in advanced!
    Gerardo J

  • OSB - ALSB / WLST / Security / add entry with WLST in  Access Control

    Hello,
    I try to reproduce with WLST script the input from the consol to declare user on Access Control proxy (security).
    sbconsol->$Proxy Service->Security->General Confiruration->Access Control->Transport Access Control->Add Conditions
    * First implementation without success with the com.bea.wli.sb.security.management.configuration.ServiceSecurityConfigurationMBean : accessControlSecurity1()
    * Second try with the service definition of the proxy service but cannot parse with Xpath accessControl Security2()
    any idee ???
    test case :
    prerequisit
    create an ALSB domain 10.3 (admin one with username='weblogic' password='weblogic' url='t3://localhost:7001') and create a proxy service on the default project
    conf/setEnv.cmd
    @CLS
    @echo ON
    @set BEA_HOME=D:\PRODUCT\MIDDLEWARE\SOA\OSB_10.3
    @set WL_HOME=%BEA_HOME%\wlserver_10.3
    @set OSB_HOME=%BEA_HOME%\osb_10.3
    @set SCRIPTING_HOME=E:\PROJETS\RECURANT\EDF\linky\WLST\WORKING\Security
    @set OSB_LIB=%OSB_HOME%/lib/sb-kernel-api.jar;%BEA_HOME%/modules/com.bea.alsb.statistics_1.0.1.0.jar;%OSB_HOME%/lib/sb-kernel-resources.jar;%OSB_HOME%/lib/sb-kernel-common.jar;%OSB_HOME%/lib/sb-kernel-impl.jar;%OSB_HOME%\lib\sb-security.jar;%OSB_HOME%/modules/com.bea.common.configfwk_1.3.0.0.jar;%BEA_HOME%/modules/com.bea.common.configfwk_1.2.0.0.jar;%BEA_HOME%/modules/com.bea.common.configfwk_1.2.1.0.jar;%OSB_HOME%/lib/modules/com.bea.alsb.resources.archive.jar;
    @set TOOL_LIB=%SCRIPTING_HOME%\lib\log4j-1.2.15.jar;%SCRIPTING_HOME%\lib\jsch-0.1.43.jar;%SCRIPTING_HOME%\lib\db2jcc.jar
    @set CLASSPATH=%OSB_LIB%;%TOOL_LIB%;%CLASSPATH%
    @set CLASSPATH=%SCRIPTING_HOME%\lib\db2jcc.jar;%TOOL_LIB%;%CLASSPATH%
    @set MODULE_LIB=%SCRIPTING_HOME%\lib
    @call %WL_HOME%\server\bin\setWLSEnv.cmd > nul 2<&1
    launch.cmd
    @CLS
    @echo OFF
    @SETLOCAL
    @call "conf\setEnv.cmd" > nul 2<&1
    set PWD=%~dp0
    %JAVA_HOME%\bin\java -Dmodule.lib=%MODULE_LIB% weblogic.WLST -skipWLSModuleScanning lib/security.py
    lib/security.py
    from com.bea.wli.monitoring import StatisticType
    from java.util import HashMap
    from java.util import HashSet
    from java.util import ArrayList
    from java.util import Collections
    from java.io import FileInputStream
    from java.io import FileOutputStream
    from java.lang import String
    from java.lang import Boolean
    from com.bea.wli.sb.util import EnvValueTypes
    from com.bea.wli.config.env import EnvValueQuery;
    from com.bea.wli.config import Ref
    from com.bea.wli.config.customization import Customization
    from com.bea.wli.config.customization import EnvValueCustomization
    from com.bea.wli.config.customization import FindAndReplaceCustomization
    from com.bea.wli.sb.management.configuration import SessionManagementMBean
    from com.bea.wli.sb.management.configuration import ALSBConfigurationMBean
    from com.bea.wli.sb.management.query import BusinessServiceQuery
    from com.bea.wli.sb.management.query import ProxyServiceQuery
    from com.bea.wli.sb.management.configuration import ServiceConfigurationMBean
    import os
    # before, create an ALSB domain 10.3 with a proxy service in the default project and add an Acces Control Policy in the consol
    # sbconsol->Project Explorer->default->${proxy service}->Security->Access Control->Create Session->Add Conditions->User->USR_1->Add
    # when we try to modify the Acces Control Policy of the proxy service with the ServiceSecurityConfigurationMBean
    def accessControlSecurity1( domain_name ):
              # connection
              print "\n\n\n***********************************************************************************************"
              connect( 'weblogic', 'weblogic', 't3://localhost:7001')
              domainRuntime()
              # create a session
              sessionName = String("SessionScript"+Long(System.currentTimeMillis()).toString())
              SessionMBean = findService( SessionManagementMBean.NAME ,SessionManagementMBean.TYPE)
              SessionMBean.createSession(sessionName)
              # get the ServiceSecurityConfigurationMBean
              serviceSecurityConfigurationMBean = findService(String("ServiceSecurityConfiguration.").concat(sessionName), "com.bea.wli.sb.security.management.configuration.ServiceSecurityConfigurationMBean")
              # get the XACMLAuthorizer
              working_directory=pwd()
              serverConfig()
              xacmlAuthorizer = cd('/SecurityConfiguration/%s/Realms/myrealm/Authorizers/XACMLAuthorizer' % domain_name )
              cd(working_directory)
              domainRuntime()
              # get service ref
              ConfigurationMBean = findService(String("ALSBConfiguration.").concat(sessionName), "com.bea.wli.sb.management.configuration.ALSBConfigurationMBean")
              bsQuery = ProxyServiceQuery()
              bsQuery.setPath("default/*")
              refs = ConfigurationMBean.getRefs(bsQuery)
              for ref in refs:
                   print 'ref=%s'%ref               
                   # use the security Mbean to add : USER_A,USER_B,USER_C to the policy
                   policyHolder = serviceSecurityConfigurationMBean.newAccessControlPolicyHolderInstance(xacmlAuthorizer)
                   policyHolder.setPolicyExpression("Usr(USER_A,USER_B,USER_C)")     
                   policyScope = serviceSecurityConfigurationMBean.newDefaultMessagePolicyScope(ref)
                   serviceSecurityConfigurationMBean.setAccessControlPolicy(policyScope,policyHolder)
                   # print the service definition
                   servConfMBean = findService( "%s.%s" % (ServiceConfigurationMBean.NAME, sessionName), ServiceConfigurationMBean.TYPE)
                   serviceDefinition = servConfMBean.getServiceDefinition(ref)
                   print serviceDefinition
                   # we can see the security entry in the service definition has follow
                   # <xml-fragment xmlns:ser="http://www.bea.com/wli/sb/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:env="http://www.bea.com/wli/config/env">
                   # <ser:coreEntry isProxy="true" isEnabled="true" isAutoPublish="false">
                   # <ser:description/>
                   # <ser:security>
                   # <con:access-control-policies xmlns:con="http://www.bea.com/wli/sb/services/security/config">
                   # <con:message-level-policies>
                   # <con1:default-policy xsi:type="con:ProviderPolicyContainerType" xmlns:con="http://www.bea.com/wli/sb/security/accesscontrol/config" xmlns:con1="http://www.bea.com/wli/sb/services/security/config">
                   # <con:policy provider-id="XACMLAuthorizer">
                   # <con:policy-expression>Usr(USER_A,USER_B,USER_C)</con:policy-expression>
                   # </con:policy>
                   # </con1:default-policy>
                   # </con:message-level-policies>
                   # </con:access-control-policies>
                   # </ser:security>
              # but when we commit
              SessionMBean.activateSession(sessionName, "description for session activation")
              # we got the following exception
              # Unexpected error: com.bea.wli.config.session.SessionConflictException
              # No stack trace available.
              # Problem invoking WLST - Traceback (innermost last):
              # File "E:\PROJETS\RECURANT\EDF\linky\WLST\WORKING\Security\lib\security.py", line 246, in ?
              # File "E:\PROJETS\RECURANT\EDF\linky\WLST\WORKING\Security\lib\security.py", line 105, in accessControlSecurity1
              # com.bea.wli.config.session.SessionConflictException: Conflicts for session SessionScript1363339726764
              # [Non-Critical] Concurrent Modification Conflicts
              # NONE
              # [Critical] Resources with validation errors
              # 1 - ProxyService test/PS_TEST_bis CannotCommit
              # + CannotCommit [OSB Security:386836]Unnecessary proxy wide message access control policy found for service "test/PS_TEST_bis". Hint: The service is neither an active security
              # intermediary nor has custom authentication enabled. ServiceDiagnosticLocation[SECURITY_TAB]:DiagnosticLocation:<con:message-level-policies xmlns:ser="http://www.bea.com/wli/sb/services" xml
              # ns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:env="http://www.bea.com/wli/config/env" xmlns:con="http://www.bea.com/wli/sb/services/security/config">
              # <con1:default-policy xsi:type="con:ProviderPolicyContainerType" xmlns:con="http://www.bea.com/wli/sb/security/accesscontrol/config" xmlns:con1="http://www.bea.com/wli/sb/services/security/
              # config">
              # <con:policy provider-id="XACMLAuthorizer">
              # <con:policy-expression>Usr(USER_A,USER_B,USER_C)</con:policy-expression>
              # </con:policy>
              # </con1:default-policy>
              # </con:message-level-policies>
              # [Info] Informational messages
              # NONE
              # at com.bea.wli.config.session.SessionManager.commitSessionUnlocked(SessionManager.java:358)
              # at com.bea.wli.config.session.SessionManager.commitSession(SessionManager.java:339)
              # at com.bea.wli.config.session.SessionManager.commitSession(SessionManager.java:297)
              # at com.bea.wli.config.session.SessionManager.commitSession(SessionManager.java:306)
              disconnect()                              
    # when we try to modify the Acces Control Policy of the proxy service whith the service XML definition
    def accessControlSecurity2( domain_name ):
              # connection
              print "\n\n\n***********************************************************************************************"
              connect( 'weblogic', 'weblogic', 't3://localhost:7001')
              domainRuntime()
              # create a session
              sessionName = String("SessionScript"+Long(System.currentTimeMillis()).toString())
              SessionMBean = findService( SessionManagementMBean.NAME ,SessionManagementMBean.TYPE)
              SessionMBean.createSession(sessionName)
              # get service ref
              ConfigurationMBean = findService(String("ALSBConfiguration.").concat(sessionName), "com.bea.wli.sb.management.configuration.ALSBConfigurationMBean")               
              bsQuery = ProxyServiceQuery()
              bsQuery.setPath("default/*")
              refs = ConfigurationMBean.getRefs(bsQuery)
              for ref in refs:
                   print 'ref=%s'%ref
                   servConfMBean = findService( "%s.%s" % (ServiceConfigurationMBean.NAME, sessionName), ServiceConfigurationMBean.TYPE)
                   serviceDefinition = servConfMBean.getServiceDefinition(ref)
                   # parsing the proxy definition
                   nsSer = "declare namespace ser='http://www.bea.com/wli/sb/services'"
                   nsXsi = "declare namespace xsi='http://www.w3.org/2001/XMLSchema-instance'"
                   nsTran = "declare namespace tran='http://www.bea.com/wli/sb/transports'"
                   nsEnv = "declare namespace env='http://www.bea.com/wli/config/env'"
                   nsCon = "declare namespace con='http://www.bea.com/wli/sb/services/security/config'"
                   nsCon1 = "declare namespace con1='http://www.bea.com/wli/sb/services/security/config'"
                   # when we try to parse the following Xpath Expression, it' working but not sufficent to access the <con:policy-expression> element
                   confPath = "ser:coreEntry/ser:security/con:access-control-policies/con1:transport-level-policy"
                   confElem = serviceDefinition.selectPath(nsSer + nsXsi + nsTran + nsEnv + nsCon + nsCon1 + confPath )
                   print "WORKING{%s}" % confElem
                   # get the result
                   # <xml-fragment xsi:type="con:ProviderPolicyContainerType" xmlns:con="http://www.bea.com/wli/sb/security/accesscontrol/config" xmlns:con1="http://www.bea.com/wli/sb/services/security/config" xmlns:ser="http://www.bea.com/wli/sb/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:env="http://www.bea.com/wli/config/env">
                   # <con:policy provider-id="XACMLAuthorizer">
                   # <con:policy-expression>Usr(USER_1,USER_2,USER_3)</con:policy-expression>
                   # </con:policy>
                   # </xml-fragment>
                   # and when we try to acces the <con:policy> element whith the following Xpath expression we got an empty result
                   confPath = "ser:coreEntry/ser:security/con:access-control-policies/con1:transport-level-policy/con:policy"
                   confElem = serviceDefinition.selectPath(nsSer + nsXsi + nsTran + nsEnv + nsCon + nsCon1 + confPath )
                   print "DON'T WORKING{%s}" % confElem
                   # get empty result
                   # array([], org.apache.xmlbeans.XmlObject)
              # want to modify the value like this on the <con:policy-expression> but cannot reach it ...
              #confValue="Usr(USER_A,USER_B,USER_C)"
              #confElem.setStringValue(confValue)
              # commit                
              SessionMBean.activateSession(sessionName, "description for session activation")
              disconnect
    # print the service definition
    def printServiceDefinition( domain_name ):
              # connection
              connect( 'weblogic', 'weblogic', 't3://localhost:7001')
              domainRuntime()
              # create a session
              sessionName = String("SessionScript"+Long(System.currentTimeMillis()).toString())
              SessionMBean = findService( SessionManagementMBean.NAME ,SessionManagementMBean.TYPE)
              SessionMBean.createSession(sessionName)
              # get service ref
              ConfigurationMBean = findService(String("ALSBConfiguration.").concat(sessionName), "com.bea.wli.sb.management.configuration.ALSBConfigurationMBean")               
              bsQuery = ProxyServiceQuery()
              bsQuery.setPath("default/*")
              refs = ConfigurationMBean.getRefs(bsQuery)
              for ref in refs:
                   print 'ref=%s'%ref
                   servConfMBean = findService( "%s.%s" % (ServiceConfigurationMBean.NAME, sessionName), ServiceConfigurationMBean.TYPE)
                   serviceDefinition = servConfMBean.getServiceDefinition(ref)
                   servConfMBean = findService( "%s.%s" % (ServiceConfigurationMBean.NAME, sessionName), ServiceConfigurationMBean.TYPE)
                   serviceDefinition = servConfMBean.getServiceDefinition(ref)
                   print serviceDefinition
              # commit                
              SessionMBean.activateSession(sessionName, "description for session activation")
              disconnect
    #accessControlSecurity1('cluster_domain')
    accessControlSecurity2('cluster_domain')

    Hello,
    I try to reproduce with WLST script the input from the consol to declare user on Access Control proxy (security).
    sbconsol->$Proxy Service->Security->General Confiruration->Access Control->Transport Access Control->Add Conditions
    * First implementation without success with the com.bea.wli.sb.security.management.configuration.ServiceSecurityConfigurationMBean : accessControlSecurity1()
    * Second try with the service definition of the proxy service but cannot parse with Xpath accessControl Security2()
    any idee ???
    test case :
    prerequisit
    create an ALSB domain 10.3 (admin one with username='weblogic' password='weblogic' url='t3://localhost:7001') and create a proxy service on the default project
    conf/setEnv.cmd
    @CLS
    @echo ON
    @set BEA_HOME=D:\PRODUCT\MIDDLEWARE\SOA\OSB_10.3
    @set WL_HOME=%BEA_HOME%\wlserver_10.3
    @set OSB_HOME=%BEA_HOME%\osb_10.3
    @set SCRIPTING_HOME=E:\PROJETS\RECURANT\EDF\linky\WLST\WORKING\Security
    @set OSB_LIB=%OSB_HOME%/lib/sb-kernel-api.jar;%BEA_HOME%/modules/com.bea.alsb.statistics_1.0.1.0.jar;%OSB_HOME%/lib/sb-kernel-resources.jar;%OSB_HOME%/lib/sb-kernel-common.jar;%OSB_HOME%/lib/sb-kernel-impl.jar;%OSB_HOME%\lib\sb-security.jar;%OSB_HOME%/modules/com.bea.common.configfwk_1.3.0.0.jar;%BEA_HOME%/modules/com.bea.common.configfwk_1.2.0.0.jar;%BEA_HOME%/modules/com.bea.common.configfwk_1.2.1.0.jar;%OSB_HOME%/lib/modules/com.bea.alsb.resources.archive.jar;
    @set TOOL_LIB=%SCRIPTING_HOME%\lib\log4j-1.2.15.jar;%SCRIPTING_HOME%\lib\jsch-0.1.43.jar;%SCRIPTING_HOME%\lib\db2jcc.jar
    @set CLASSPATH=%OSB_LIB%;%TOOL_LIB%;%CLASSPATH%
    @set CLASSPATH=%SCRIPTING_HOME%\lib\db2jcc.jar;%TOOL_LIB%;%CLASSPATH%
    @set MODULE_LIB=%SCRIPTING_HOME%\lib
    @call %WL_HOME%\server\bin\setWLSEnv.cmd > nul 2<&1
    launch.cmd
    @CLS
    @echo OFF
    @SETLOCAL
    @call "conf\setEnv.cmd" > nul 2<&1
    set PWD=%~dp0
    %JAVA_HOME%\bin\java -Dmodule.lib=%MODULE_LIB% weblogic.WLST -skipWLSModuleScanning lib/security.py
    lib/security.py
    from com.bea.wli.monitoring import StatisticType
    from java.util import HashMap
    from java.util import HashSet
    from java.util import ArrayList
    from java.util import Collections
    from java.io import FileInputStream
    from java.io import FileOutputStream
    from java.lang import String
    from java.lang import Boolean
    from com.bea.wli.sb.util import EnvValueTypes
    from com.bea.wli.config.env import EnvValueQuery;
    from com.bea.wli.config import Ref
    from com.bea.wli.config.customization import Customization
    from com.bea.wli.config.customization import EnvValueCustomization
    from com.bea.wli.config.customization import FindAndReplaceCustomization
    from com.bea.wli.sb.management.configuration import SessionManagementMBean
    from com.bea.wli.sb.management.configuration import ALSBConfigurationMBean
    from com.bea.wli.sb.management.query import BusinessServiceQuery
    from com.bea.wli.sb.management.query import ProxyServiceQuery
    from com.bea.wli.sb.management.configuration import ServiceConfigurationMBean
    import os
    # before, create an ALSB domain 10.3 with a proxy service in the default project and add an Acces Control Policy in the consol
    # sbconsol->Project Explorer->default->${proxy service}->Security->Access Control->Create Session->Add Conditions->User->USR_1->Add
    # when we try to modify the Acces Control Policy of the proxy service with the ServiceSecurityConfigurationMBean
    def accessControlSecurity1( domain_name ):
              # connection
              print "\n\n\n***********************************************************************************************"
              connect( 'weblogic', 'weblogic', 't3://localhost:7001')
              domainRuntime()
              # create a session
              sessionName = String("SessionScript"+Long(System.currentTimeMillis()).toString())
              SessionMBean = findService( SessionManagementMBean.NAME ,SessionManagementMBean.TYPE)
              SessionMBean.createSession(sessionName)
              # get the ServiceSecurityConfigurationMBean
              serviceSecurityConfigurationMBean = findService(String("ServiceSecurityConfiguration.").concat(sessionName), "com.bea.wli.sb.security.management.configuration.ServiceSecurityConfigurationMBean")
              # get the XACMLAuthorizer
              working_directory=pwd()
              serverConfig()
              xacmlAuthorizer = cd('/SecurityConfiguration/%s/Realms/myrealm/Authorizers/XACMLAuthorizer' % domain_name )
              cd(working_directory)
              domainRuntime()
              # get service ref
              ConfigurationMBean = findService(String("ALSBConfiguration.").concat(sessionName), "com.bea.wli.sb.management.configuration.ALSBConfigurationMBean")
              bsQuery = ProxyServiceQuery()
              bsQuery.setPath("default/*")
              refs = ConfigurationMBean.getRefs(bsQuery)
              for ref in refs:
                   print 'ref=%s'%ref               
                   # use the security Mbean to add : USER_A,USER_B,USER_C to the policy
                   policyHolder = serviceSecurityConfigurationMBean.newAccessControlPolicyHolderInstance(xacmlAuthorizer)
                   policyHolder.setPolicyExpression("Usr(USER_A,USER_B,USER_C)")     
                   policyScope = serviceSecurityConfigurationMBean.newDefaultMessagePolicyScope(ref)
                   serviceSecurityConfigurationMBean.setAccessControlPolicy(policyScope,policyHolder)
                   # print the service definition
                   servConfMBean = findService( "%s.%s" % (ServiceConfigurationMBean.NAME, sessionName), ServiceConfigurationMBean.TYPE)
                   serviceDefinition = servConfMBean.getServiceDefinition(ref)
                   print serviceDefinition
                   # we can see the security entry in the service definition has follow
                   # <xml-fragment xmlns:ser="http://www.bea.com/wli/sb/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:env="http://www.bea.com/wli/config/env">
                   # <ser:coreEntry isProxy="true" isEnabled="true" isAutoPublish="false">
                   # <ser:description/>
                   # <ser:security>
                   # <con:access-control-policies xmlns:con="http://www.bea.com/wli/sb/services/security/config">
                   # <con:message-level-policies>
                   # <con1:default-policy xsi:type="con:ProviderPolicyContainerType" xmlns:con="http://www.bea.com/wli/sb/security/accesscontrol/config" xmlns:con1="http://www.bea.com/wli/sb/services/security/config">
                   # <con:policy provider-id="XACMLAuthorizer">
                   # <con:policy-expression>Usr(USER_A,USER_B,USER_C)</con:policy-expression>
                   # </con:policy>
                   # </con1:default-policy>
                   # </con:message-level-policies>
                   # </con:access-control-policies>
                   # </ser:security>
              # but when we commit
              SessionMBean.activateSession(sessionName, "description for session activation")
              # we got the following exception
              # Unexpected error: com.bea.wli.config.session.SessionConflictException
              # No stack trace available.
              # Problem invoking WLST - Traceback (innermost last):
              # File "E:\PROJETS\RECURANT\EDF\linky\WLST\WORKING\Security\lib\security.py", line 246, in ?
              # File "E:\PROJETS\RECURANT\EDF\linky\WLST\WORKING\Security\lib\security.py", line 105, in accessControlSecurity1
              # com.bea.wli.config.session.SessionConflictException: Conflicts for session SessionScript1363339726764
              # [Non-Critical] Concurrent Modification Conflicts
              # NONE
              # [Critical] Resources with validation errors
              # 1 - ProxyService test/PS_TEST_bis CannotCommit
              # + CannotCommit [OSB Security:386836]Unnecessary proxy wide message access control policy found for service "test/PS_TEST_bis". Hint: The service is neither an active security
              # intermediary nor has custom authentication enabled. ServiceDiagnosticLocation[SECURITY_TAB]:DiagnosticLocation:<con:message-level-policies xmlns:ser="http://www.bea.com/wli/sb/services" xml
              # ns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:env="http://www.bea.com/wli/config/env" xmlns:con="http://www.bea.com/wli/sb/services/security/config">
              # <con1:default-policy xsi:type="con:ProviderPolicyContainerType" xmlns:con="http://www.bea.com/wli/sb/security/accesscontrol/config" xmlns:con1="http://www.bea.com/wli/sb/services/security/
              # config">
              # <con:policy provider-id="XACMLAuthorizer">
              # <con:policy-expression>Usr(USER_A,USER_B,USER_C)</con:policy-expression>
              # </con:policy>
              # </con1:default-policy>
              # </con:message-level-policies>
              # [Info] Informational messages
              # NONE
              # at com.bea.wli.config.session.SessionManager.commitSessionUnlocked(SessionManager.java:358)
              # at com.bea.wli.config.session.SessionManager.commitSession(SessionManager.java:339)
              # at com.bea.wli.config.session.SessionManager.commitSession(SessionManager.java:297)
              # at com.bea.wli.config.session.SessionManager.commitSession(SessionManager.java:306)
              disconnect()                              
    # when we try to modify the Acces Control Policy of the proxy service whith the service XML definition
    def accessControlSecurity2( domain_name ):
              # connection
              print "\n\n\n***********************************************************************************************"
              connect( 'weblogic', 'weblogic', 't3://localhost:7001')
              domainRuntime()
              # create a session
              sessionName = String("SessionScript"+Long(System.currentTimeMillis()).toString())
              SessionMBean = findService( SessionManagementMBean.NAME ,SessionManagementMBean.TYPE)
              SessionMBean.createSession(sessionName)
              # get service ref
              ConfigurationMBean = findService(String("ALSBConfiguration.").concat(sessionName), "com.bea.wli.sb.management.configuration.ALSBConfigurationMBean")               
              bsQuery = ProxyServiceQuery()
              bsQuery.setPath("default/*")
              refs = ConfigurationMBean.getRefs(bsQuery)
              for ref in refs:
                   print 'ref=%s'%ref
                   servConfMBean = findService( "%s.%s" % (ServiceConfigurationMBean.NAME, sessionName), ServiceConfigurationMBean.TYPE)
                   serviceDefinition = servConfMBean.getServiceDefinition(ref)
                   # parsing the proxy definition
                   nsSer = "declare namespace ser='http://www.bea.com/wli/sb/services'"
                   nsXsi = "declare namespace xsi='http://www.w3.org/2001/XMLSchema-instance'"
                   nsTran = "declare namespace tran='http://www.bea.com/wli/sb/transports'"
                   nsEnv = "declare namespace env='http://www.bea.com/wli/config/env'"
                   nsCon = "declare namespace con='http://www.bea.com/wli/sb/services/security/config'"
                   nsCon1 = "declare namespace con1='http://www.bea.com/wli/sb/services/security/config'"
                   # when we try to parse the following Xpath Expression, it' working but not sufficent to access the <con:policy-expression> element
                   confPath = "ser:coreEntry/ser:security/con:access-control-policies/con1:transport-level-policy"
                   confElem = serviceDefinition.selectPath(nsSer + nsXsi + nsTran + nsEnv + nsCon + nsCon1 + confPath )
                   print "WORKING{%s}" % confElem
                   # get the result
                   # <xml-fragment xsi:type="con:ProviderPolicyContainerType" xmlns:con="http://www.bea.com/wli/sb/security/accesscontrol/config" xmlns:con1="http://www.bea.com/wli/sb/services/security/config" xmlns:ser="http://www.bea.com/wli/sb/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:env="http://www.bea.com/wli/config/env">
                   # <con:policy provider-id="XACMLAuthorizer">
                   # <con:policy-expression>Usr(USER_1,USER_2,USER_3)</con:policy-expression>
                   # </con:policy>
                   # </xml-fragment>
                   # and when we try to acces the <con:policy> element whith the following Xpath expression we got an empty result
                   confPath = "ser:coreEntry/ser:security/con:access-control-policies/con1:transport-level-policy/con:policy"
                   confElem = serviceDefinition.selectPath(nsSer + nsXsi + nsTran + nsEnv + nsCon + nsCon1 + confPath )
                   print "DON'T WORKING{%s}" % confElem
                   # get empty result
                   # array([], org.apache.xmlbeans.XmlObject)
              # want to modify the value like this on the <con:policy-expression> but cannot reach it ...
              #confValue="Usr(USER_A,USER_B,USER_C)"
              #confElem.setStringValue(confValue)
              # commit                
              SessionMBean.activateSession(sessionName, "description for session activation")
              disconnect
    # print the service definition
    def printServiceDefinition( domain_name ):
              # connection
              connect( 'weblogic', 'weblogic', 't3://localhost:7001')
              domainRuntime()
              # create a session
              sessionName = String("SessionScript"+Long(System.currentTimeMillis()).toString())
              SessionMBean = findService( SessionManagementMBean.NAME ,SessionManagementMBean.TYPE)
              SessionMBean.createSession(sessionName)
              # get service ref
              ConfigurationMBean = findService(String("ALSBConfiguration.").concat(sessionName), "com.bea.wli.sb.management.configuration.ALSBConfigurationMBean")               
              bsQuery = ProxyServiceQuery()
              bsQuery.setPath("default/*")
              refs = ConfigurationMBean.getRefs(bsQuery)
              for ref in refs:
                   print 'ref=%s'%ref
                   servConfMBean = findService( "%s.%s" % (ServiceConfigurationMBean.NAME, sessionName), ServiceConfigurationMBean.TYPE)
                   serviceDefinition = servConfMBean.getServiceDefinition(ref)
                   servConfMBean = findService( "%s.%s" % (ServiceConfigurationMBean.NAME, sessionName), ServiceConfigurationMBean.TYPE)
                   serviceDefinition = servConfMBean.getServiceDefinition(ref)
                   print serviceDefinition
              # commit                
              SessionMBean.activateSession(sessionName, "description for session activation")
              disconnect
    #accessControlSecurity1('cluster_domain')
    accessControlSecurity2('cluster_domain')

  • Problem starting OSB

    Ok, that's weird....I had trace and a question here.
    At any rate, I'm having trouble starting up OSB from a newly created domain. This is the output with so many errors I'm not even sure where to look. Any ideas?
    [tkiesii@bur65017fwks bin]$ ./startWebLogic.sh
    JAVA Memory arguments: -Xms512m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m -XX:MaxPermSize=160m
    WLS Start Mode=Development
    CLASSPATH=:/home/tkiesii/bea/patch_wlw1030/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/tkiesii/bea/patch_wls1030/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/tkiesii/bea/patch_cie670/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/tkiesii/bea/patch_alsb1031/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/home/tkiesii/bea/jdk160_05/lib/tools.jar:/scratch/tkiesii/bea/wlserver_10.3/server/lib/weblogic_sp.jar:/scratch/tkiesii/bea/wlserver_10.3/server/lib/weblogic.jar:/home/tkiesii/bea/modules/features/weblogic.server.modules_10.3.0.0.jar:/scratch/tkiesii/bea/wlserver_10.3/server/lib/webservices.jar:/home/tkiesii/bea/modules/org.apache.ant_1.6.5/lib/ant-all.jar:/home/tkiesii/bea/modules/net.sf.antcontrib_1.0.0.0_1-0b2/lib/ant-contrib.jar::/scratch/tkiesii/bea/wlserver_10.3/../modules/features/osb.server.modules_10.3.1.0.jar:/scratch/tkiesii/bea/osb_10.3/lib/flow/sb-flow.jar:/scratch/tkiesii/bea/wlserver_10.3/../modules/com.bea.core.jaxen_1.0.1.0_1-1-1.jar:/scratch/tkiesii/bea/osb_10.3/lib/version.jar:/scratch/tkiesii/bea/osb_10.3/lib/alsb.jar:/scratch/tkiesii/bea/osb_10.3/3rdparty/lib/j2ssh-ant.jar:/scratch/tkiesii/bea/osb_10.3/3rdparty/lib/j2ssh-common.jar:/scratch/tkiesii/bea/osb_10.3/3rdparty/lib/j2ssh-core.jar:/scratch/tkiesii/bea/osb_10.3/3rdparty/lib/j2ssh-dameon.jar:/scratch/tkiesii/bea/osb_10.3/3rdparty/classes:/scratch/tkiesii/bea/wlserver_10.3/../modules/com.bea.core.apache.commons.logging_1.1.0.jar:/scratch/tkiesii/bea/osb_10.3/lib/transports/jca/jca-binding-api.jar:/scratch/tkiesii/bea/osb_10.3/lib/transports/jca/bpm-infra.jar:/scratch/tkiesii/bea/osb_10.3/lib/transports/jca/log4j_1.2.8.jar:/scratch/tkiesii/bea/osb_10.3/lib/transports/jca/xmlparserv2.jar:%WL_HOME/server/ext/jdbc/oracle/orai18n.jar::/scratch/tkiesii/bea/wlserver_10.3/common/eval/pointbase/lib/pbembedded57.jar:/scratch/tkiesii/bea/wlserver_10.3/common/eval/pointbase/lib/pbclient57.jar:/scratch/tkiesii/bea/wlserver_10.3/server/lib/xqrl.jar::
    PATH=/scratch/tkiesii/bea/wlserver_10.3/server/bin:/home/tkiesii/bea/modules/org.apache.ant_1.6.5/bin:/home/tkiesii/bea/jdk160_05/jre/bin:/home/tkiesii/bea/jdk160_05/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/packages/idb_remote/9.1.039/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/ade/bin
    * To start WebLogic Server, use a username and *
    * password assigned to an admin-level user. For *
    * server administration, use the WebLogic Server *
    * console at http://hostname:port/console *
    starting weblogic with Java version:
    Listening for transport dt_socket at address: 8453
    java version "1.6.0_05"
    Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
    Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode)
    Starting WLS with line:
    /home/tkiesii/bea/jdk160_05/bin/java -client -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8453,server=y,suspend=n -Djava.compiler=NONE -Xms512m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m -XX:MaxPermSize=160m -Xverify:none -da:org.apache.xmlbeans... -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole... -Dplatform.home=/scratch/tkiesii/bea/wlserver_10.3 -Dwls.home=/scratch/tkiesii/bea/wlserver_10.3/server -Dweblogic.home=/scratch/tkiesii/bea/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev=true -Dwlw.testConsole=true -Dwlw.logErrorsToConsole=true -Dweblogic.ext.dirs=/home/tkiesii/bea/patch_wlw1030/profiles/default/sysext_manifest_classpath:/home/tkiesii/bea/patch_wls1030/profiles/default/sysext_manifest_classpath:/home/tkiesii/bea/patch_cie670/profiles/default/sysext_manifest_classpath:/home/tkiesii/bea/patch_alsb1031/profiles/default/sysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=/scratch/tkiesii/bea/wlserver_10.3/server/lib/weblogic.policy weblogic.Server
    Listening for transport dt_socket at address: 8453
    <Sep 21, 2009 1:05:32 PM EDT> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Client VM Version 10.0-b19 from Sun Microsystems Inc.>
    <Sep 21, 2009 1:05:33 PM EDT> <Info> <Management> <BEA-141107> <Version: WebLogic Server Temporary Patch for 380194 Fri Oct 24 13:20:13 IST 2008
    WebLogic Server Temporary Patch for 8408837 Fri Apr 03 17:01:18 EDT 2009
    WebLogic Server Temporary Patch for CR378781, CR380313 Fri Sep 19 13:34:16 PDT 2008
    WebLogic Server Temporary Patch for CR381056 Mon Oct 06 10:48:50 EDT 2008
    WebLogic Server Temporary Patch for CR374413, CR378680 Tue Sep 02 09:55:36 PDT 2008
    WebLogic Server Temporary Patch for CR378102 Wed Sep 10 23:28:48 PDT 2008
    WebLogic Server Temporary Patch for CR378741 Tue Sep 09 13:08:51 PDT 2008
    WebLogic Server 10.3 Fri Jul 25 16:30:05 EDT 2008 1137967 >
    <Sep 21, 2009 1:05:35 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
    <Sep 21, 2009 1:05:35 PM EDT> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool>
    <Sep 21, 2009 1:05:36 PM EDT> <Notice> <Log Management> <BEA-170019> <The server log file /scratch/tkiesii/bea/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log is opened. All server side log events will be written to this file.>
    <Sep 21, 2009 1:05:42 PM EDT> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
    <Sep 21, 2009 1:05:47 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY>
    <Sep 21, 2009 1:05:47 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
    <Sep 21, 2009 1:05:47 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:48 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:49 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:50 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:51 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:52 PM EDT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application 'cgDataSource' due to error weblogic.application.ModuleException: .
    weblogic.application.ModuleException:
    at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:289)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    Truncated. see log file for complete stacktrace
    weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:253)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1109)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1033)
    at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:214)
    at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1051)
    Truncated. see log file for complete stacktrace
    >
    <Sep 21, 2009 1:05:52 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource-nonXA": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:53 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource-nonXA": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:54 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource-nonXA": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:55 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource-nonXA": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:56 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "cgDataSource-nonXA": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:57 PM EDT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application 'cgDataSource-nonXA' due to error weblogic.application.ModuleException: .
    weblogic.application.ModuleException:
    at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:289)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    Truncated. see log file for complete stacktrace
    weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:253)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1109)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1033)
    at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:214)
    at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1051)
    Truncated. see log file for complete stacktrace
    >
    <Sep 21, 2009 1:05:57 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "wlsbjmsrpDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:58 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "wlsbjmsrpDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:05:59 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "wlsbjmsrpDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:06:00 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "wlsbjmsrpDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:06:01 PM EDT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "wlsbjmsrpDataSource": SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.>
    <Sep 21, 2009 1:06:02 PM EDT> <Critical> <JTA> <BEA-110482> <A logging last resource failed during initialization. The server cannot boot unless all configured logging last resources (LLRs) initialize. Failing reason:
    weblogic.common.ResourceException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.
    weblogic.common.ResourceException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1197)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1033)
    at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:214)
    at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1051)
    at weblogic.jdbc.common.internal.ConnectionPool.start(ConnectionPool.java:146)
    Truncated. see log file for complete stacktrace
    weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:253)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1109)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1033)
    at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:214)
    at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1051)
    Truncated. see log file for complete stacktrace
    >
    <Sep 21, 2009 1:06:02 PM EDT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application 'wlsbjmsrpDataSource' due to error weblogic.application.ModuleException: .
    weblogic.application.ModuleException:
    at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:289)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    Truncated. see log file for complete stacktrace
    weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:253)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1109)
    at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1033)
    at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:214)
    at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1051)
    Truncated. see log file for complete stacktrace
    >
    <Sep 21, 2009 1:06:10 PM EDT> <Alert> <OSB Security> <BEA-387068> <There is no PKI credential mapper provider configured in your security realm. Service key provider management will be disabled. Configure a PKI credential mapper provider if you need service provider support. This is typically the case if you have Oracle Service Bus proxy services with web service security enabled or outbound 2-way SSL connections.>
    <Sep 21, 2009 1:06:19 PM EDT> <Warning> <EJB> <BEA-010001> <While deploying EJB 'ReportingMDB', class com.bea.wli.reporting.jmsprovider.runtime.ReportingMDB was loaded from the system classpath. As a result, this class cannot be reloaded while the server is running. To prevent this behavior in the future, make sure the class is not located in the server classpath.>
    <Sep 21, 2009 1:06:19 PM EDT> <Warning> <EJB> <BEA-010001> <While deploying EJB 'PurgingMDB', class com.bea.wli.reporting.jmsprovider.runtime.PurgingMDB was loaded from the system classpath. As a result, this class cannot be reloaded while the server is running. To prevent this behavior in the future, make sure the class is not located in the server classpath.>
    <Sep 21, 2009 1:06:23 PM EDT> <Warning> <WliSbTransports> <BEA-381917> <MQ Transport could not be registered due to : Missing MQ Library>
    Oracle Service Bus Debugger listening on port 7453.
    <Sep 21, 2009 1:06:32 PM EDT> <Error> <OSB-Reporting> <BEA-473500> <JMS Reporting Data Manager failed to deploy during server start up javax.naming.NameNotFoundException: Unable to resolve 'wlsbjmsrpDataSource'. Resolved ''; remaining name 'wlsbjmsrpDataSource'
    javax.naming.NameNotFoundException: Unable to resolve 'wlsbjmsrpDataSource'. Resolved ''; remaining name 'wlsbjmsrpDataSource'
    at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
    at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
    at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
    Truncated. see log file for complete stacktrace
    >
    <Sep 21, 2009 1:06:32 PM EDT> <Error> <Deployer> <BEA-149231> <Unable to set the activation state to true for the application 'JMS Reporting Provider'.
    javax.naming.NameNotFoundException: Unable to resolve 'wlsbjmsrpDataSource'. Resolved ''; remaining name 'wlsbjmsrpDataSource'
    at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
    at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
    at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
    Truncated. see log file for complete stacktrace
    javax.naming.NameNotFoundException: Unable to resolve 'wlsbjmsrpDataSource'. Resolved ''; remaining name 'wlsbjmsrpDataSource'
    at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
    at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
    at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
    Truncated. see log file for complete stacktrace
    >
    <Sep 21, 2009 1:06:38 PM EDT> <Notice> <Log Management> <BEA-170027> <The Server has established connection with the Domain level Diagnostic Service successfully.>
    <Sep 21, 2009 1:06:39 PM EDT> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason: [JTAExceptions:119002]A logging last resource failed during initialization. The server cannot boot unless all configured logging last resources (LLRs) initialize. Failing reason:
    weblogic.common.ResourceException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: SQL-server rejected establishment of SQL-connection. Pointbase Server may not be running on localhost at port 9093.
    >
    <Sep 21, 2009 1:06:39 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
    <Sep 21, 2009 1:06:39 PM EDT> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
    <Sep 21, 2009 1:06:39 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
    <Sep 21, 2009 1:06:39 PM EDT> <Error> <netuix> <BEA-423443> <Exception while initializing SingleFileServlet: [java.lang.reflect.InvocationTargetException].
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.netuix.servlets.manager.SingleFileServlet.reinitInternal(SingleFileServlet.java:178)
    Truncated. see log file for complete stacktrace
    java.lang.IllegalStateException: Unable to extract name from ServletContext.
    at com.bea.p13n.management.ApplicationHelper.getWebAppName(ApplicationHelper.java:300)
    at com.bea.netuix.servlets.services.WlsLightCommonWebappServices._getWebAppName(WlsLightCommonWebappServices.java:163)
    at com.bea.netuix.servlets.services.WlsLightCommonWebappServices.getWebAppName(WlsLightCommonWebappServices.java:63)
    at com.bea.portlet.container.AppContainer.<init>(AppContainer.java:141)
    at com.bea.portlet.container.AppContainer.getAppContainer(AppContainer.java:112)
    Truncated. see log file for complete stacktrace
    >
    Mon Sep 21 13:06:40 EDT 2009 <INFO> Instantiating inbound part of Adapter Framework instance: OraSB
    Mon Sep 21 13:06:40 EDT 2009 <INFO> Stopping inbound part of Adapter Framework instance: OraSB
    Stopping PointBase server...
    PointBase server stopped.
    Edited by: [email protected] on Sep 21, 2009 10:34 AM added the meaty stuff
    Edited by: [email protected] on Sep 21, 2009 10:36 AM

    I wound up killing all of the java processes as a last ditch effort to see if there was a collision from another user (three use the machine). The domain came up successfully after doing that. I'll need to sort out at some point what the problem was exactly, but for now it seems resolved.

  • OSB (ALSB 2.6) Unwanted changes to XML messages

    I have a customer who would like to pass the following XML to OSB 2.6 (ALSB):
    </Parameter><Parameter Encoding="plain"><Name>TestParameter2</Name><Value>&lt;firsttag&gt;&lt;secondtag&gt;text_in_secondtag&lt;/secondtag&gt;&lt;/firsttag&gt;</Value></Parameter>
    The problem is that once the XML is consumed by OSB it gets changed to the following:
    </Parameter><Parameter Encoding="plain"><Name>TestParameter2</Name><Value>&lt;firsttag>&lt;secondtag>text_in_secondtag&lt;/secondtag>&lt;/firsttag></Value></Parameter>
    Is there any way to prevent this from happening?

    Sorry, the 2nd XML I pasted here actually got transformed on the forum, I didn't notice that when I first posted this. Let me try to explain in another way.
    the sequence "& l t;" is changed to "<"
    (I added the spaces this time so it did not get changed again.)
    The problem is that the message is a signed message so when it is finally received the signature is different.

  • For Loop in OSB(ALSB)

    I have a variable in alsb:
    $destinations = <destinations>
    <destination>
         <DESCRIPTION>
         URL1
         </DESCRIPTION>
    </destination>
    <destination>
         <DESCRIPTION>
         URL2
         </DESCRIPTION>
    </destination>
    </destinations>
    I have for each loop in ALSB which loops around this variable for each <destination> in <destinations>.
    The problem is, when it is looping, I want to send the corresponding <description>-URL by addressing it as $destinations/destination\[$indexArg\]. It is returning all the <destination> nodes.
    However, it is working fine when I use a hardcoded number instead of the variable index.
    For Eg:
    $destinations/destination[1] is returning the first node (as expected)
    <destination>
         <DESCRIPTION>
         URL1
         </DESCRIPTION>
    </destination>
    But, when I use $destinations/destination\[$indexArg\] all the destination nodes are getting returned.
    I understand I am missing something. Any help will be appreciated.
    Thanks in advance,
    Chandan.
    Edited by: user10604890 on May 20, 2009 11:31 PM
    Edited by: user10604890 on May 21, 2009 12:10 PM
    Edited by: user10604890 on May 21, 2009 12:11 PM

    I was asking about the dynamic selection of the node from a variable.
    in the $destinations variable to select a particular node with a number.
    Eg: $destinations/destination\[$index\]
    It works fine if I say, $destinations/destination[1] and selects only the first node.
    When I assign a index value there, it gives every destination variable in destinations.
    For Each is not what the question is about.

  • Receiver determination - Xpath expression problem with count

    I am working with a scenario where I pick up records from a JDBC connection and if the number of records I pick up is less than a certain number I want to call a webservice.  If it is greater than the number I want to write out a file to be processed by a different process on the receiving end.  I have created the receiver determination condition with the following conditions:
    (/p1:MT_HOG_Data/row[count(row) > 3] EX)
    (/p1:MT_HOG_Data/row[count(row) <= 3] EX)
    The integration is always processing the second condition no matter how many records come in.  I have tried with and without the multiline option.  Can anyone help with this?
    I have searched through the forum and checked the following links without any resolution:
    http://wiki.sdn.sap.com/wiki/display/XI/XpathConditioninReceiverDetermination
    http://help.sap.com/saphelp_nwpi71/helpdata/EN/ab/13bf7191e73a4fb3560e767a2525fd/frameset.htm
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    I can't find any examples where a count of records is checked in the expression editor.  Thanks in advance for any help.

    You can not use the EX operator in that case, because that is used only for node existence checks, not for value checks.
    Do you have a row number in your structure ? Then you could write the xpath expression with that counter tag and value
    Example: you want to send to receiver A if count > 3, else to B:
    you set  /rowNumber EQUAL 4 for sender A
    and /rowNumber NOT EQUAL 4 for sender B
    The condition is applied to the whole document. If one of the node/values are true for that condition, then the whole condition is set to true.
    Problem with that is that the second condition also will be true because nodes for that condition will be found
    better would be to have a rowcount tag in the structure. If that is not possible, you can use the "Enhanced Receiver determination" where you can define a mapping which determines the receivers. There you can do anything complicated you want.
    CSY

  • Pipeline validation xpath resolution problem

    I have a problem with something that seems like it should be a relatively straightforward requirement. I have a set of third-party schemas from a standards organization (CDISC). I need to build a solution that accepts documents conforming to these schemas,
    validates them and distributes them to subscribers. Specifically, I am trying to process messages conforming to the newly-released ODM 1.3.2. I previously built a solution that receives and validates ODM 1.3.1 messages, but CDISC added unique constraints to
    ODM 1.3.2 and re-referenced the targeted namespace with a prefix at the document level. To test the new schemas, I built a simple solution with the ODM schemas and a receive pipeline with an xml disassembler set to validate. The solution compiles and deploys
    without problems, but when I try to process a valid ODM 1.3.2 sample file, I get the following fault message:
    There was a failure executing the receive pipeline: "ODMTest.ReceivePipeline1, ODMTest132, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c5aa898d2acb2194" Source: "XML disassembler" Receive Port: "rcvFile" URI: "D:\Temp\in\*.xml"
    Reason: The prefix 'odm' in XPath cannot be resolved. 
    The problem looks like the issue discussed in the Adventures Inside the Message Box blog article entitled: "Adding a unique constraint to your BizTalk schemas to prevent duplicate values in elements/attributes (Part 2)" (Sorry, MSDN is not letting
    me link the article). The problem is that I cannot resolve the issue in the way the author suggests, since I am not the owner of the schema- CDISC is. I have zipped the sample project and will make it available to anyone who contacts me (apparently, I can't
    yet link content in this forum). Does anyone know a way around this problem?

    Yshmael,
    On BizTalk Administration Console, copy and paste following
    ODMTest132.ODM1_3_2_foundation+ODM|ODMTest132.ODM1_3_2_foundation+Address|ODMTest132.ODM1_3_2_foundation+AdminData|ODMTest132.ODM1_3_2_foundation+Alias|ODMTest132.ODM1_3_2_foundation+Annotation|ODMTest132.ODM1_3_2_foundation+Annotations|ODMTest132.ODM1_3_2_foundation+ArchiveLayout|ODMTest132.ODM1_3_2_foundation+ArchiveLayoutRef|ODMTest132.ODM1_3_2_foundation+Association|ODMTest132.ODM1_3_2_foundation+AuditRecord|ODMTest132.ODM1_3_2_foundation+AuditRecords|ODMTest132.ODM1_3_2_foundation+BasicDefinitions|ODMTest132.ODM1_3_2_foundation+Certificate|ODMTest132.ODM1_3_2_foundation+CheckValue|ODMTest132.ODM1_3_2_foundation+City|ODMTest132.ODM1_3_2_foundation+ClinicalData|ODMTest132.ODM1_3_2_foundation+CodeList|ODMTest132.ODM1_3_2_foundation+CodeListItem|ODMTest132.ODM1_3_2_foundation+CodeListRef|ODMTest132.ODM1_3_2_foundation+Comment|ODMTest132.ODM1_3_2_foundation+ConditionDef|ODMTest132.ODM1_3_2_foundation+Country|ODMTest132.ODM1_3_2_foundation+CryptoBindingManifest|ODMTest132.ODM1_3_2_foundation+DateTimeStamp|ODMTest132.ODM1_3_2_foundation+Decode|ODMTest132.ODM1_3_2_foundation+Description|ODMTest132.ODM1_3_2_foundation+DisplayName|ODMTest132.ODM1_3_2_foundation+Email|ODMTest132.ODM1_3_2_foundation+EnumeratedItem|ODMTest132.ODM1_3_2_foundation+ErrorMessage|ODMTest132.ODM1_3_2_foundation+ExternalCodeList|ODMTest132.ODM1_3_2_foundation+ExternalQuestion|ODMTest132.ODM1_3_2_foundation+Fax|ODMTest132.ODM1_3_2_foundation+FirstName|ODMTest132.ODM1_3_2_foundation+Flag|ODMTest132.ODM1_3_2_foundation+FlagType|ODMTest132.ODM1_3_2_foundation+FlagValue|ODMTest132.ODM1_3_2_foundation+FormalExpression|ODMTest132.ODM1_3_2_foundation+FormData|ODMTest132.ODM1_3_2_foundation+FormDef|ODMTest132.ODM1_3_2_foundation+FormRef|ODMTest132.ODM1_3_2_foundation+FullName|ODMTest132.ODM1_3_2_foundation+GlobalVariables|ODMTest132.ODM1_3_2_foundation+ImputationMethod|ODMTest132.ODM1_3_2_foundation+Include|ODMTest132.ODM1_3_2_foundation+InvestigatorRef|ODMTest132.ODM1_3_2_foundation+ItemData|ODMTest132.ODM1_3_2_foundation+ItemDataAny|ODMTest132.ODM1_3_2_foundation+ItemDataBase64Binary|ODMTest132.ODM1_3_2_foundation+ItemDataBase64Float|ODMTest132.ODM1_3_2_foundation+ItemDataBoolean|ODMTest132.ODM1_3_2_foundation+ItemDataDate|ODMTest132.ODM1_3_2_foundation+ItemDataDatetime|ODMTest132.ODM1_3_2_foundation+ItemDataDouble|ODMTest132.ODM1_3_2_foundation+ItemDataDurationDatetime|ODMTest132.ODM1_3_2_foundation+ItemDataFloat|ODMTest132.ODM1_3_2_foundation+ItemDataHexBinary|ODMTest132.ODM1_3_2_foundation+ItemDataHexFloat|ODMTest132.ODM1_3_2_foundation+ItemDataIncompleteDate|ODMTest132.ODM1_3_2_foundation+ItemDataIncompleteDatetime|ODMTest132.ODM1_3_2_foundation+ItemDataIncompleteTime|ODMTest132.ODM1_3_2_foundation+ItemDataInteger|ODMTest132.ODM1_3_2_foundation+ItemDataIntervalDatetime|ODMTest132.ODM1_3_2_foundation+ItemDataPartialDate|ODMTest132.ODM1_3_2_foundation+ItemDataPartialDatetime|ODMTest132.ODM1_3_2_foundation+ItemDataPartialTime|ODMTest132.ODM1_3_2_foundation+ItemDataString|ODMTest132.ODM1_3_2_foundation+ItemDataTime|ODMTest132.ODM1_3_2_foundation+ItemDataURI|ODMTest132.ODM1_3_2_foundation+ItemDef|ODMTest132.ODM1_3_2_foundation+ItemGroupData|ODMTest132.ODM1_3_2_foundation+ItemGroupDef|ODMTest132.ODM1_3_2_foundation+ItemGroupRef|ODMTest132.ODM1_3_2_foundation+ItemRef|ODMTest132.ODM1_3_2_foundation+KeySet|ODMTest132.ODM1_3_2_foundation+LastName|ODMTest132.ODM1_3_2_foundation+LegalReason|ODMTest132.ODM1_3_2_foundation+Location|ODMTest132.ODM1_3_2_foundation+LocationRef|ODMTest132.ODM1_3_2_foundation+LoginName|ODMTest132.ODM1_3_2_foundation+Meaning|ODMTest132.ODM1_3_2_foundation+MeasurementUnit|ODMTest132.ODM1_3_2_foundation+MeasurementUnitRef|ODMTest132.ODM1_3_2_foundation+MetaDataVersion|ODMTest132.ODM1_3_2_foundation+MetaDataVersionRef|ODMTest132.ODM1_3_2_foundation+MethodDef|ODMTest132.ODM1_3_2_foundation+Organization|ODMTest132.ODM1_3_2_foundation+OtherText|ODMTest132.ODM1_3_2_foundation+Pager|ODMTest132.ODM1_3_2_foundation+Phone|ODMTest132.ODM1_3_2_foundation+Picture|ODMTest132.ODM1_3_2_foundation+PostalCode|ODMTest132.ODM1_3_2_foundation+Presentation|ODMTest132.ODM1_3_2_foundation+Protocol|ODMTest132.ODM1_3_2_foundation+ProtocolName|ODMTest132.ODM1_3_2_foundation+Question|ODMTest132.ODM1_3_2_foundation+RangeCheck|ODMTest132.ODM1_3_2_foundation+ReasonForChange|ODMTest132.ODM1_3_2_foundation+ReferenceData|ODMTest132.ODM1_3_2_foundation+Role|ODMTest132.ODM1_3_2_foundation+Signature|ODMTest132.ODM1_3_2_foundation+SignatureDef|ODMTest132.ODM1_3_2_foundation+SignatureRef|ODMTest132.ODM1_3_2_foundation+Signatures|ODMTest132.ODM1_3_2_foundation+SiteRef|ODMTest132.ODM1_3_2_foundation+SourceID|ODMTest132.ODM1_3_2_foundation+StateProv|ODMTest132.ODM1_3_2_foundation+StreetName|ODMTest132.ODM1_3_2_foundation+Study|ODMTest132.ODM1_3_2_foundation+StudyDescription|ODMTest132.ODM1_3_2_foundation+StudyEventData|ODMTest132.ODM1_3_2_foundation+StudyEventDef|ODMTest132.ODM1_3_2_foundation+StudyEventRef|ODMTest132.ODM1_3_2_foundation+StudyName|ODMTest132.ODM1_3_2_foundation+SubjectData|ODMTest132.ODM1_3_2_foundation+Symbol|ODMTest132.ODM1_3_2_foundation+TranslatedText|ODMTest132.ODM1_3_2_foundation+User|ODMTest132.ODM1_3_2_foundation+UserRef
    to the text box shown in the image. Delete any previous text in the text box
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful.

  • XPath Expression Problem

    Hi again,
    still a newb and stillsomequestions, but hope dies at last :)
    I want to extract values from a xml file which is stored in a table.
    i have the following code:
    COLUMN div DEFAULT
    SELECT extract(value(x), '//DIV/@ ID = ''FXAC93006ENC.0001.01.00''/text()').getStringVal() AS div
    FROM versuch2 x;
    With this code ive got the following Error Message: ORA:31012: Not supported XPath Statement.
    I tried this XPath statement in SlyXML and got a boolean:true result, so i think its not a xpath problem.
    Isthere a syntax problem?
    Thx for help!

    The correct syntax for fetching attributes is different from what you did.
    Not sure which syntax is the standard, but the Oracle Version seems more intuitive (too me). Why? Because an attribute is on the same hierachy level of the xml tag and therefore should not be queried with an additional /.
    SQL> with versuch2 as (select xmltype('<doc><div id="FXAC93006ENC.0001.01.00">Test</div></doc>') xmlcol from dual)
      2  SELECT extract(xmlcol, '//div[@id="FXAC93006ENC.0001.01.00"]/ text()').getStringVal() AS div
      3  FROM versuch2 x;
    DIV
    Test
    SQL>
    SQL> btw: W3C XPath Syntax stuff: http://www.w3.org/TR/xpath#predicates
    Message was edited by:
    Sven W.

  • Xpath Namespace problem

    Hi,
    I'm facing a problem while reading an xpath element which has namespace attached.
    The xml document is as follows
    <ns0:_root  xmlns:ns0="http://www.oracle.bt.bp.osm/GPRLN">
    <ns0:Port_and_Routing_Details_g>
    <ns0:Action_Code>
    <ns0:Code1>Add</ns0:Code1>
    <ns0:Code2>Delete</ns0:Code2>
    <ns0:Code3>Update</ns0:Code3>
    </ns0:Action_Code>
    </ns0:Port_and_Routing_Details_g>
    <ns0:Extended_Quantity>1</ns0:Extended_Quantity>
    <ns0:Status>Pending</ns0:Status>
    <ns0:Description/>
    </ns0:_root> In the above xml document i want to capture the text node of <ns0:Code3>Update</ns0:Code3> i.e. I want to get Update as a result.
    I'm using the following java program to to get the value by using xpath but not succeeded.
    public class XMLParsing {
         public static void main(String[] args)
             try {
                       DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
             domFactory.setNamespaceAware(true);
             DocumentBuilder builder = domFactory.newDocumentBuilder();
             Document doc = builder.parse("E:\\sample.xml");
             XPathFactory factory = XPathFactory.newInstance();
             XPath xpath = factory.newXPath();
              XPathExpression fax = xpath.compile("//ns0:Port_and_Routing_Details_g/ns0:Action_Code/ns0:Code3/text()");
                        Object result = fax.evaluate(doc, XPathConstants.NODESET);
              NodeList nodes = (NodeList) result;
              int len = nodes.getLength();
              System.out.println(len);
              for (int i=0; i<len;i++){
                   System.out.println(nodes.item(i).getNodeValue());
             catch (ParserConfigurationException e) {
              e.printStackTrace();
              catch(SAXException e){
                   e.printStackTrace();
              catch(IOException e) {
                   e.printStackTrace();
              catch(XPathExpressionException e){
                   e.printStackTrace();
      }Anybody please help me on this issue
    Thanks

    Hi,
    put bolded code in your program.
    It will resolve your problem
    public class XMLParsing {
         public static void main(String[] args)
         try {
    DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
         domFactory.setNamespaceAware(true);
         DocumentBuilder builder = domFactory.newDocumentBuilder();
         Document doc = builder.parse("E:\\sample.xml");
    *NamespaceContext ctx = new NamespaceContext() {*
    *public String getNamespaceURI(String prefix) {*
    String uri;
    if (prefix.equals("ns0"))
    uri = "http://www.oracle.bt.bp.osm/GPRLN";
    else if (prefix.equals("ns2"))
    uri = "http://www.davber.com/sales-format";
    else
    uri = null;
    return uri;
    *public Iterator getPrefixes(String val) {*
    *     return null;*
    *// Dummy implemenation - not used!*
    *public String getPrefix(String uri) {*
    return null;
         XPathFactory factory = XPathFactory.newInstance();
         XPath xpath = factory.newXPath();
    xpath.setNamespaceContext(ctx);
         XPathExpression fax = xpath.compile("//ns0:Port_and_Routing_Details_g/ns0:Action_Code/ns0:Code3/text()");
    Object result = fax.evaluate(doc, XPathConstants.NODESET);
              NodeList nodes = (NodeList) result;
              int len = nodes.getLength();
              System.out.println(len);
              for (int i=0; i<len;i++){
                   System.out.println(nodes.item(i).getNodeValue());
         catch (ParserConfigurationException e) {
              e.printStackTrace();
              catch(SAXException e){
                   e.printStackTrace();
              catch(IOException e) {
                   e.printStackTrace();
              catch(XPathExpressionException e){
                   e.printStackTrace();
    }

  • [XML/XPATH] jaxen : problem with "parent" function

    Hello
    I have a problem with jaxen, when I try to use the XPath function parent :
    When I try this :
    import ...
    DocumentNavigator dn=new DocumentNavigator();
    try {
    objet=dn.getDocument("TESTXPath.xml");
    apath=dn.parseXPath("/Entry/Resultats/step/Population/individu/*");
    result=apath.evaluate(objet);
    System.out.println(result);
    apath=dn.parseXPath("/Entry/Resultats/step/Population/parent::*");
    result=apath.evaluate(objet); // ---> exception
    System.out.println(result);
    catch(Exception e) {
    e.printStackTrace();
    The first result is well displayed, but just before the second, I catch this exception:
    Exception in thread "main" java.lang.NoSuchMethodError: org.jdom.Element.getParent()Lorg/jdom/Element; at org.jaxen.jdom.DocumentNavigator.getParentAxisIterator(DocumentNavigator.java: 252)
    at org.jaxen.expr.iter.IterableParentAxis.iterator(IterableParentAxis.java:82)
    at org.jaxen.expr.DefaultStep.axisIterator(DefaultStep.java:139)
    at org.jaxen.expr.DefaultLocationPath.evaluate(DefaultLocationPath.java:188)
    at org.jaxen.expr.DefaultAbsoluteLocationPath.evaluate(DefaultAbsoluteLocationPat h.java:126)
    at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:107)
    at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:716)
    at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:239)
    at org.jaxen.BaseXPath.evaluate(BaseXPath.java:196)
    at MainTestClass.main(MainTestClass.java:85)
    However, the first query works good and I received list so I'm quite sure that it's not a problem of unfindable elements.
    Finaly I can't be syccessful to use XPath parent function:
    Either I catch an exception, or it returns nothing or empty list
    Isn't the XPath syntax correct in my second expression ?
    Can we do :
    /.../.../parent::* ? ou //individu/parent::* ?

    Thanks
    I think so, but.
    In fact I don't think I'm using different version of JDOM.
    I use eclipse with jdk1.4.2.
    I have downloaded JDOM-b10 and the only things I have done is to extract zip archive and to add all .jar files of the jdom directory in my library path.
    Do this is the only version of JDOM I'm using.
    All works perfectly excepted only the XPath parent method. It's strange that the other methods work fine.
    I don't knnow how to solve this problem ! so if you can help me I be very thankfull.

  • Unmarshaling problem in OSB File Transform

    Hi ,
    i got a error " unmarshling binary to xml format " in osb filr operatioin . how to over come this problem.

    Hi,
    Have a look at this...
    https://blogs.oracle.com/jeffdavies/entry/mfl_and_the_bea_382030
    If that doesn't help post a sample of your native file and the expected xml translated...
    Cheers,
    Vlad

Maybe you are looking for

  • Can I use a modem I got from a friend with Verizon DSL?

    My friend gave me a Verizon DSL (modem plus router) for Verizon. Can I use that for DSL service? Thanks!!!

  • Error occuers in smartform

    Hello Guys,,,, When i am trying to see the previw of the quotation it opens in a new wondow and says "Error occuers in smartform". Rest of the screen is blank.  i checked this from standard SAP Bsuiness roles. it does the same. I checked from GUI and

  • About Item catagory usage

    Hi All Gurus, We determine item catagory i.e s/ditem catagory grpitem catagory usagehigher level item catagoryitem catagory. I want to knw more abt Item catagory usage. Hw its work & its effects as well as abt higher level item catagory Thanks in adv

  • Where's a magician when you really need one?

    Recently did a re-install of 10.3.9, but now it's not much fun because Sherlock doesn't work. No matter what I enter into the search field, the response of "no results found" stays there. It's almost as though it loads the internet, but can't access

  • IPhone 3G operations slower than iPhone 1

    While I am browsing the website disappears frequently and the phone goes back to the home screen. Things are also slower than with the iPhone 1. Everything is slower: downloading email, etc. I have synced it recently. iPhone