Ранее у нас было одно приложение, скажем, abc.ear, в котором JAX-RPC всегда работал нормально.Теперь у нас есть еще одно приложение.
Previous Scenario -
abc.ear
-first.war
-beans.jar
Current Scenario -
abc.ear
-first.war
-beans.jar
-second.war
И тут возникает проблема.После развертывания в websphere генерируется wsdl для second.war, а не для first.war.
Что я заметил в application.xml, у нас есть записи как для WAR, так и для WSDLвсегда для второй записи.
Application.xml
<?xml version="1.0" encoding="UTF-8"?>
<application id="Application_ID" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
<display-name>abc</display-name>
<module id="WebModule_1049898749936">
<web>
<web-uri>first.war</web-uri>
<context-root>/firstContext</context-root>
</web>
</module>
<module id="WebModule_1049898749937">
<web>
<web-uri>second.war</web-uri>
<context-root>/secondContext</context-root>
</web>
</module>
<module id="EjbModule_1049898671780">
<ejb>beans.jar</ejb>
</module>
<security-role id="SecurityRole_1049898749936">
<description>abcSecurityRole</description>
<role-name>abcSecurityRole</role-name>
</security-role>
</application>
Всякий раз, когда я обращаюсь к службе WSDL для первого контекста / firstContext / services, локальный хост и имя порта преобразуются в имя сервера и порт.
<wsdlsoap:address location="http://localhost:9081/firstContext/services/WsSessionEJBEndPointBean"/>
Но локальный хост и порт не разрешаются для secondContext при получении доступа к службе WSDL.Я пропускаю какую-либо запись?
Это из-за того, что routerModule не генерируется в ibm-webservices-bnd.xmi для second.war?Я добавил его вручную.
<?xml version="1.0" encoding="UTF-8"?>
<com.ibm.etools.webservice.wsbnd:WSBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:com.ibm.etools.webservice.wsbnd="http://www.ibm.com/websphere/appserver/schemas/5.0.2/wsbnd.xmi" xmi:id="WSBinding_1161041065182">
<wsdescBindings xmi:id="WSDescBinding_1354375783544" wsDescNameLink="WsSessionEJBEndPointBeanService">
<pcBindings xmi:id="PCBinding_1354375783544" pcNameLink="WsSessionEJBEndPointBean"/>
</wsdescBindings>
<routerModules xmi:id="RouterModule_1161041070381" transport="http" name="first.war"/>
<routerModules xmi:id="RouterModule_1161041070381" transport="http" name="second.war"/>
</com.ibm.etools.webservice.wsbnd:WSBinding>
Также возможно ли иметь два разных ресурсных модуля с одинаковым транспортом?