来自 The Java EE 5 Tutorial try A Web Service Example:helloservice - The Java EE 5 Tutorial。
其他:
例子
我写了一个小示例应用程序。
项目结构
`-- HelloEAR
| |-- .project
| `-- .settings
| |-- org.eclipse.wst.common.component
| |-- org.eclipse.wst.common.project.facet.core.xml
`-- HelloEJB
| `-- .apt_generated
| | `-- org
| | `-- paulvargas
| | `-- ejb
| | `-- jaxws
| | |-- SayHello.java
| | |-- SayHelloResponse.java
| |-- .classpath
| |-- .factorypath
| |-- .project
| `-- .settings
| | |-- org.eclipse.jdt.apt.core.prefs
| | |-- org.eclipse.jdt.core.prefs
| | |-- org.eclipse.wst.common.component
| | |-- org.eclipse.wst.common.project.facet.core.xml
| `-- ejbModule
| | `-- META-INF
| | | |-- ibm-webservices-bnd.xmi
| | `-- org
| | | `-- paulvargas
| | | `-- ejb
| | | |-- HelloBean.class
| | | |-- HelloBean.java
| | | |-- HelloLocal.class
| | | |-- HelloLocal.java
| | | |-- HelloRemote.class
| | | |-- HelloRemote.java
| | | `-- jaxws
| | | |-- SayHello.class
| | | |-- SayHelloResponse.class
`-- HelloWeb
| `-- .apt_generated
| |-- .classpath
| |-- .factorypath
| |-- .project
| `-- .settings
| | |-- .jsdtscope
| | |-- org.eclipse.jdt.apt.core.prefs
| | |-- org.eclipse.jdt.core.prefs
| | |-- org.eclipse.wst.common.component
| | |-- org.eclipse.wst.common.project.facet.core.xml
| | |-- org.eclipse.wst.jsdt.ui.superType.container
| | |-- org.eclipse.wst.jsdt.ui.superType.name
| `-- src
| `-- WebContent
| | `-- WEB-INF
| | `-- classes
| | `-- lib
| | |-- web.xml

HelloBean.java
package org.paulvargas.ejb;
import javax.ejb.Stateless;
import javax.jws.WebService;
@Stateless
@WebService
public class HelloBean implements HelloRemote, HelloLocal {
public String sayHello(String name) {
return "Hello, " + name + ".";
}
}
HelloRemote.java
package org.paulvargas.ejb;
import javax.ejb.Remote;
@Remote
public interface HelloRemote {
String sayHello(String name);
}
HelloLocal.java
package org.paulvargas.ejb;
import javax.ejb.Local;
@Local
public interface HelloLocal {
String sayHello(String name);
}
ibm-webservices-bnd.xmi
<?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">
<routerModules transport="http" name="HelloWeb.war" />
</com.ibm.etools.webservice.wsbnd:WSBinding>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>HelloWeb</display-name>
<servlet>
<servlet-name>org.paulvargas.ejb.HelloBean</servlet-name>
<servlet-class>com.ibm.ws.websvcs.transport.http.WASAxis2Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>org.paulvargas.ejb.HelloBean</servlet-name>
<url-pattern>/HelloBeanService</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
文件SayHello.java
和SayHelloResponse.java
由 IDE 自动生成。您可以在中看到已部署的 WSDL 文件http://localhost:9080/HelloWeb/HelloBeanService/HelloBeanService.wsdl