3 Replies Latest reply on Oct 27, 2006 12:24 AM by jason.greene

    Can't get wstools to work for multiple endpoints in JBossWS

    dmitri_furman

      Hello,

      I am trying to deploy multiple session ejb's as webservices. As of JBoss 1.0.3 new append flag was added to configuration:
      <webservices ejb-link="BenefitsValidationService" append="true"/>

      While using this flag webservices.xml is not overwritten which is exactly the behavior that I need. However, the name space is only specified for the first service. While deploying this webservice JBoss throws exception complaining about not being able to find elements in the namespace specified. Below are the configuration files that I use and the webservices.xml file that gets produced.

      If anyone knows of the workaround for this issue I would really appreciate hearing about it. Thank you.


      Address Validation (1st service) configuration:


      <java-wsdl>

      <namespaces target-namespace="http://edv.etenet.com/AddressValidationService"
      type-namespace="http://edv.etenet.com/AddressValidationService/types"/>

      <webservices ejb-link="AddressValidationService" append="true"/>
      </java-wsdl>



      BenefitsValidation (2nd service) configuration:


      <java-wsdl>

      <namespaces target-namespace="http://edv.etenet.com/BenefitsValidationService"
      type-namespace="http://edv.etenet.com/BenefitsValidationService/types"/>

      <webservices ejb-link="BenefitsValidationService" append="true"/>
      </java-wsdl>



      Resulting webservices.xml file. Please note xmlns:impl='http://edv.etenet.com/AddressValidationService' specified. JBoss Assumes that it can find BenefitsValidationService also in xmlns:impl. Wstools does not create a different namespace:

      <webservices version='1.1' xmlns='http://java.sun.com/xml/ns/j2ee' xmlns:impl='http://edv.etenet.com/AddressValidationService' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd'>
      <webservice-description>
      <webservice-description-name>AddressValidationService</webservice-description-name>
      <wsdl-file>META-INF/wsdl/AddressValidationService.wsdl</wsdl-file>
      <jaxrpc-mapping-file>META-INF/AddressValidationService-mapping.xml</jaxrpc-mapping-file>
      <port-component>
      <port-component-name>AddressValidationServiceSEIPort</port-component-name>
      <wsdl-port>impl:AddressValidationServiceSEIPort</wsdl-port>
      <service-endpoint-interface>com.psc.edv.avs.ejb.AddressValidationServiceSEI</service-endpoint-interface>
      <service-impl-bean>
      <ejb-link>AddressValidationService</ejb-link>
      </service-impl-bean>
      </port-component>
      </webservice-description>
      <webservice-description>
      <webservice-description-name>BenefitsValidationService</webservice-description-name>
      <wsdl-file>META-INF/wsdl/BenefitsValidationService.wsdl</wsdl-file>
      <jaxrpc-mapping-file>META-INF/BenefitsValidationService-mapping.xml</jaxrpc-mapping-file>
      <port-component>
      <port-component-name>BenefitsValidationServiceSEIPort</port-component-name>
      <wsdl-port>impl:BenefitsValidationServiceSEIPort</wsdl-port>
      <service-endpoint-interface>com.psc.edv.bvs.ejb.BenefitsValidationServiceSEI</service-endpoint-interface>
      <service-impl-bean>
      <ejb-link>BenefitsValidationService</ejb-link>
      </service-impl-bean>
      </port-component>
      </webservice-description>