Unable to find policy: "bssvpolicy.xml" & BSSV Build

Andrew2009

Well Known Member
Unable to find policy: \"bssvpolicy.xml\" & BSSV Build

I selected JAX-WS and WLS in Business Services Assembly. The build is successful but when I tried to deploy it, I got Error.

In the log file, I saw the following error. I have web services artifacts in my EAR file that I generated using both JAX-RPC and JAX-WS approaches.

If I selected JAX-RPC in the Business Services Assembly then everything is fine. But not JAX-WS. Do you know why?

Thanks,
PS: I'm using TR 9.1.3.3 on Windows Server 2008 R2


==============================

Unable to find policy: "bssvpolicy.xml", please make sure to use dynamic wsdl when initializing the service stub

at weblogic.wsee.policy.runtime.PolicyServer.loadPolicy(PolicyServer.java:183)
at weblogic.wsee.policy.runtime.PolicyServer.getPolicy(PolicyServer.java:118)
at weblogic.wsee.policy.deployment.PolicyRef.getPolicy(PolicyRef.java:207)
at weblogic.wsee.policy.deployment.PolicyReferenceWsdlExtension.getEffectivePolicy(PolicyReferenceWsdlExtension.java:125)
at weblogic.wsee.policy.deployment.WsdlPolicySubject.getEffectivePolicyFromWsdlExtensible(WsdlPolicySubject.java:485)
at weblogic.wsee.policy.deployment.WsdlPolicySubject.getEndpointPolicySubject(WsdlPolicySubject.java:341)
at weblogic.wsee.policy.runtime.PolicyContext.getRequestEffectivePolicy(PolicyContext.java:107)
at weblogic.wsee.policy.runtime.PolicyContext.getRequestEffectivePolicy(PolicyContext.java:74)
at weblogic.wsee.reliability2.policy.WsrmPolicyHelper.hasRMPolicy(WsrmPolicyHelper.java:65)
at weblogic.wsee.reliability2.tube.WsrmTubelineDeploymentListener.createServer(WsrmTubelineDeploymentListener.java:527)
at weblogic.wsee.jaxws.WLSTubelineAssemblerFactory$TubelineAssemblerImpl.createServer(WLSTubelineAssemblerFactory.java:180)
at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:213)
at weblogic.wsee.jaxws.WLSContainer$WLSEndpointFactory$WLSEndpointImpl.<init>(WLSContainer.java:615)
at weblogic.wsee.jaxws.WLSContainer$WLSEndpointFactory.createEndpoint(WLSContainer.java:576)
at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:231)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:496)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:539)
at weblogic.wsee.jaxws.JAXWSDeployedServlet.getEndpoint(JAXWSDeployedServlet.java:183)
at weblogic.wsee.jaxws.JAXWSServlet.registerEndpoint(JAXWSServlet.java:135)
at weblogic.wsee.jaxws.JAXWSServlet.init(JAXWSServlet.java:64)
at weblogic.wsee.jaxws.JAXWSDeployedServlet.init(JAXWSDeployedServlet.java:55)
at javax.servlet.GenericServlet.init(GenericServlet.java:242)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1985)
at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1959)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1878)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3154)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:485)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:201)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:249)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:28)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:637)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:52)
at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)
at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:31)
at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:170)
at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:124)
at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:181)
at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:97)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

======================
 

altquark

Legendary Poster
Re: Unable to find policy: \"bssvpolicy.xml\" & BSSV Build

we had this issue - Oracle was notified and evidently they allowed some early code "leak" into the 9.1.3.2 tools release.

So, there are two ways to solve this :

1. Install your old tools release onto a workstation to continue doing BSSV package builds - that way, the old tools release will continue to correctly update the policy file. Personally, I prefer this since I have a BSSV Package Build machine specifically for this purpose, and I don't have to then do step (2) every time I deploy a BSSV package.

2. Alternatively, copy the contents of the existing XML policy file INTO the bssvpolicy.xml file - and copy that new file into the location each time you complete the build

Heres the directory of where the bssvpolicy.xml file needs to be :

\\{bssv machine name}\{bssv drive}\Oracle\Middleware\user_projects\domains\{domain name}\servers\{server name}\stage\{bssv server name}\app\E1Services-{pathcode}-web.war\WEB-INF\policies

Here are the contents of the new BSSV file that you need to add so that SSL works again. We took the existing Wssp1.2-2007-Https-UsernameToken-Plain.xml and appended it to the bssvpolicy.xml file to work properly :

<font class="small">Code:</font><hr /><pre>
<?xml version="1.0"?>
<wsp:policy
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
>
<sp:TransportBinding>
<wsp:policy>
<sp:TransportToken>
<wsp:policy>
<sp:HttpsToken/>
</wsp:policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:policy>
<sp:Basic256/>
</wsp:policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:policy>
<sp:Lax/>
</wsp:policy>
</sp:Layout>
<sp:IncludeTimestamp/>
</wsp:policy>
</sp:TransportBinding>
<sp:SupportingTokens>
<wsp:policy>
<sp:UsernameToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
<wsp:policy>
<sp:WssUsernameToken10/>
</wsp:policy>
</sp:UsernameToken>
</wsp:policy>
</sp:SupportingTokens>
</wsp:policy>
</pre><hr />

You need to copy this code every single time, and restart the BSSV instance when you copy it over. It takes extra time to do this.

The fact is that Oracle screwed up - and currently, this is a major issue with BSSV with all tools releases past 9.1.3.2 - I do not know when Oracle expects to get this fixed, but they really didn't seem to understand the importance of this when we reported it. Its going to affect EVERY customer post 9.1.3.2 who utilizes BSSV.
 
Top