如何生成webservice接口,供别人调用 http://wenku.baidu.com/link?url=l7qzCjKSE2osKAoRUITY8x1Rb0-0NfTq29fwgqCB-vN75ZpUo8vMqwvhHBE5BMm_k5dX1wcmZO-TNN28Eks0RGP_krti0hTg7s1JHA9Ebsm 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、普通类就可以了,不要放在包中(也可以放进包中)2、下载axis2,并把axis2放在tomcat_home\webapps下,再在axis2\WEB-INF建立Pojo文件夹,并把1中所编译的class放进该文件夹下3、启动tomcat,访问http://localhost:8080/axis2/services/listServices,你写的接口就应该会出现了 如何你将类放在包中,就不能按上述2步骤来了,你需要打成**.aar包放进axis2\WEB-INF\services下 建议使用CXF框架,发布服务的步骤是第一步:<servlet> <servlet-name>cxfServlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFNonSpringServle</servlet-class><!--如果使用了spring,则使用-CXFServlet-> </servlet> <servlet-mapping> <servlet-name>cxfServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>将上面信息配置到web.xml中第二步:@WebServicepublic interface SimpleWebservice { public String sayHello(String name);}public class SimpleWebserviceImpl implements SimpleWebservice { /* (non-Javadoc) * @see org.jbeer.sample.bean.service.SimpleWebservice#sayHello(java.lang.String) */ @Override public String sayHello(String name) { return "hello "+name; }}第三步:JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();factory.setAddress(“SimpleWebservice”);factory.setServiceBean(new SimpleWebserviceImpl());factory.setServiceClass(SimpleWebservice.class);factory.create();如果你当前项目使用了spring,那么使用起来将会更简单了,直接通过spring配置,就可以发布一个服务了。具体你可以百度一下 spring cxf 直接定义一个借口罗 使用注释方法 将服务段的信息@WebService注释中 例如:以下代码:package org.jsoso.jws.server; import java.util.ArrayList; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.WebParam.Mode; import javax.jws.soap.SOAPBinding; / * 提供WebService服务的类 */ @WebService(name="Example", targetNamespace="http://www.jsoso.com/wstest", serviceName="Example") @SOAPBinding(style=SOAPBinding.Style.RPC) public class Example { private ArrayList<Person> persons = new ArrayList<Person>();; /** * * 返回一个字符串 * @param userName * @return */ @WebMethod(operationName="toSayHello",action="sayHello",exclude=false) @WebResult(name="returnWord")//自定义该方法返回值在WSDL中相关的描述 public String sayHello(@WebParam(name="userName")String userName) { return "Hello:" + userName; } /** * web services 方法的返回值与参数的类型不能为接口 * @param person * @return * @throws HelloException */ @WebMethod(operationName="sayHello", action="sayHello") @WebResult(partName="personList") public Person[] sayHello(@WebParam(partName="person", mode=Mode.IN)Person person, String userName) throws HelloException { if (person == null || person.getName() == null) { throw new HelloException("说hello出错,对像为空。。"); } System.out.println(person.getName() + " 对 " + userName + " 说:Hello,我今年" + person.getAge() + "岁"); persons.add(person); return persons.toArray(new Person[0]); } } jws是JDK定义的 webservice标准,基于SOAP的,还有JSR基于REST的,都可以通过注解实现如果考虑开源框架,Asix和xfire是不错的选择 用过XFire,用myeclipse创建还比较好用,你可以试试。 对公司现有框架对多条件查询的一个疑问 sql 字符串到时间 怎样做一个发布新闻的新闻编辑区 hibernate 关于调用函数的HQL的写发 Sturs 2 整合 Tiles出错 jsp,javaBean与oracle连接问题……谢谢各位啊! post方法和get方法有什么区别? 下载的问题,请帮忙想个办法! 求大神帮下,我已经弄了一天了,关于href 传值给servlet jsp里面怎么调接口和方法 求大神指导:servletConfig.getInitParameterNames() web页面在手机端获取手机号或者手机识别码
2、下载axis2,并把axis2放在tomcat_home\webapps下,再在axis2\WEB-INF建立Pojo文件夹,并把1中所编译的class放进该文件夹下
3、启动tomcat,访问http://localhost:8080/axis2/services/listServices,你写的接口就应该会出现了
第一步:
<servlet>
<servlet-name>cxfServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFNonSpringServle</servlet-class><!--如果使用了spring,则使用-CXFServlet->
</servlet>
<servlet-mapping>
<servlet-name>cxfServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
将上面信息配置到web.xml中
第二步:
@WebService
public interface SimpleWebservice { public String sayHello(String name);
}
public class SimpleWebserviceImpl implements SimpleWebservice { /* (non-Javadoc)
* @see org.jbeer.sample.bean.service.SimpleWebservice#sayHello(java.lang.String)
*/
@Override
public String sayHello(String name) {
return "hello "+name;
}}
第三步:
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
factory.setAddress(“SimpleWebservice”);
factory.setServiceBean(new SimpleWebserviceImpl());
factory.setServiceClass(SimpleWebservice.class);
factory.create();如果你当前项目使用了spring,那么使用起来将会更简单了,直接通过spring配置,就可以发布一个服务了。具体你可以百度一下 spring cxf
import java.util.ArrayList;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.WebParam.Mode;
import javax.jws.soap.SOAPBinding;
/
* 提供WebService服务的类
*/
@WebService(name="Example", targetNamespace="http://www.jsoso.com/wstest", serviceName="Example")
@SOAPBinding(style=SOAPBinding.Style.RPC)
public class Example {
private ArrayList<Person> persons = new ArrayList<Person>();;
/**
*
* 返回一个字符串
* @param userName
* @return
*/
@WebMethod(operationName="toSayHello",action="sayHello",exclude=false)
@WebResult(name="returnWord")//自定义该方法返回值在WSDL中相关的描述
public String sayHello(@WebParam(name="userName")String userName) {
return "Hello:" + userName;
}
/**
* web services 方法的返回值与参数的类型不能为接口
* @param person
* @return
* @throws HelloException
*/
@WebMethod(operationName="sayHello", action="sayHello")
@WebResult(partName="personList")
public Person[] sayHello(@WebParam(partName="person", mode=Mode.IN)Person person,
String userName) throws HelloException {
if (person == null || person.getName() == null) {
throw new HelloException("说hello出错,对像为空。。");
}
System.out.println(person.getName() + " 对 " + userName + " 说:Hello,我今年" + person.getAge() + "岁");
persons.add(person);
return persons.toArray(new Person[0]);
}
}
如果考虑开源框架,Asix和xfire是不错的选择