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