users@glassfish.java.net

help with jsr - 109 web service deployment ?

From: <glassfish_at_javadesktop.org>
Date: Fri, 27 Feb 2009 04:13:14 PST

Hi,

I've problem to deploy WS implemented as Statless session bean on Glassfish v2. Deployment ends with fatal error 'Ejb StatementServiceSoap implements 2 web service endpoints but must only implement 1'. Here is my configuration:

[b]StatementServiceSoapWS.java[/b]

@WebService
//_at_WebService(endpointInterface = "fenix.web.service.StatementServiceSoap", serviceName = "StatementServiceSoap")
//_at_SOAPBinding(style = Style.DOCUMENT)
@Stateless(name = "StatementServiceSoap")
@TransactionManagement(TransactionManagementType.BEAN)
public class StatementServiceSoapWS extends TransactionalBean implements StatementServiceSoap {

[b]ejb-jar.xml[/b]
<session>
  <ejb-name>StatementServiceSoap</ejb-name>
  <service-endpoint>fenix.web.service.StatementServiceSoap</service-endpoint>
  <ejb-class>fenix.web.service.StatementServiceSoapWS</ejb-class>
  <session-type>Stateless</session-type>
  <transaction-type>Bean</transaction-type>
</session>

[b]sun-ejb.xml[/b]
<ejb>
  <ejb-name>StatementServiceSoap</ejb-name>
  <webservice-endpoint>
    <endpoint-address-uri>/StatementService</endpoint-address-uri>
  </webservice-endpoint>
</ejb>

[b]webservices.xml[/b]
<webservice-description>
  <webservice-description-name>StatementServiceSoap</webservice-description-name>
  <wsdl-file>META-INF/wsdl/StatementService.wsdl</wsdl-file>
  <jaxrpc-mapping-file>META-INF/jaxrpc-mapping.xml</jaxrpc-mapping-file>
  <port-component>
    <port-component-name>StatementServiceSoapPort</port-component-name>
    <wsdl-port>StatementServiceSoapPort</wsdl-port>
    <service-endpoint-interface>fenix.web.service.StatementServiceSoap</service-endpoint-interface>
    <service-impl-bean>
      <ejb-link>StatementServiceSoap</ejb-link>
    </service-impl-bean>
  </port-component>
</webservice-description>

I'm using metro and documentation related to this issue is incomplete (see https://metro.dev.java.net/guide/Deploying_Metro_endpoint.html#Using_109_Deployment_Descriptor). I have already tried to remove implements clause from the class as well as endpoint tags from annotation and ejb-jar.xml but nothing helped.
To be honest I'm also confused why any configuration file is required when annotations present. If I omit to define webservices.xml and consequently jaxrpc-mapping.xml,
the file sun-jaxws.xml is required during deployment.
[Message sent by forum member 'cigorin' (cigorin)]

http://forums.java.net/jive/thread.jspa?messageID=334197