怎么让普通的项目发布为WebService呢? 怎么让普通的项目发布为WebService呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是java的话,可以使用axis2这个apache的项目做进一步开发,发布为webservice,不过工作量还是有的 可以用Xfire+Spring 支持的一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security来实现package com.webservice.jsr181;import javax.jws.WebService;//指定soap的命名空间@WebService(targetNamespace = "http://localhost:8007/test2")public interface BbtForumService {int getRefinedTopicCount(int lastDay);}package com.webservice.jsr181;import javax.jws.WebService;@WebService(serviceName = "BbtForumService",endpointInterface = "com.webservice.jsr181.BbtForumService")public class BbtFormServiceImp implements BbtForumService {public int getRefinedTopicCount(int lastDay) { return 0;}} web.xml文件:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><display-name>XFireService</display-name><!-- begin Spring配置 --><context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext.xml,/WEB-INF/xfire-servlet.xml </param-value></context-param><listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener><listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class></listener><listener> <listener-class> org.springframework.web.util.IntrospectorCleanupListener </listener-class></listener><!-- end Spring配置 --><!-- begin XFire 配置 --><servlet> <servlet-name>xfire</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class></servlet><servlet-mapping> <servlet-name>xfire</servlet-name> <url-pattern>*.ws</url-pattern></servlet-mapping><servlet><!-- 配合Spring容器中XFire一起工作的Servlet--> <servlet-name>xfireServlet</servlet-name> <servlet-class> org.codehaus.xfire.spring.XFireSpringServlet </servlet-class></servlet><servlet-mapping> <servlet-name>xfireServlet</servlet-name><!-- 在这个URI下开放Web Service服务 --> <url-pattern>/service/*</url-pattern></servlet-mapping><!-- end XFire 配置 --></web-app>applicationContext.xml文件:这里将不再需要xfire-servlet.xml但是会报错,该怎么除掉这个错误,我还不知道。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans><import resource="classpath:org/codehaus/xfire/spring/xfire.xml" /><!-- ①该Bean获取Spring容器中所有标注@WebService的Bean --><bean id="webAnnotations" class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations" /><!-- ②对标注@WebService的Bean进行处理,完成导出工作 --><bean id="jsr181HandlerMapping" class="org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping"> <property name="xfire" ref="xfire" /> <property name="webAnnotations" ref="webAnnotations" /></bean><bean id="bbtForum" class="com.webservice.jsr181.BbtFormServiceImp" /></beans> 使用jrs是在实现类的@WebService(serviceName = "BbtForumService"指定访问路径使用普通方式是在handler中指定访问路径:<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="urlMap"> <map> <entry key="/HelloWorldService.ws"> <ref bean="HelloWorldService" /> </entry> </map> </property></bean>log4j.rootLogger=info,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss}\t %-5p \t%m%n在web.xml文件中: <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> 用A系统的账号登录B系统,用什么技术实现,求助。 EJB怎么使用Hibernate cxf2.0.10发布的问题.weblogic(100分) 在glassfish中怎么部署一个WEB应用? 谁有weblogic portal里的avitek的例程代码啊? 中间件像websphere,tomcat提供了什么?安全?日志?求助 菜鸟xml问题,白送分了。 :) 关于模仿tomcat自带例程的应用 用JBuilder9开发EJB的问题!大家帮忙看看! svnkit文件目录存在空格如何解决 JSP表单一个客户单位对应多个联系人 js写的一个选择框排序组件显示数据不根据数据顺序,该如何修改js?
//指定soap的命名空间
@WebService(targetNamespace = "http://localhost:8007/test2")
public interface BbtForumService {
int getRefinedTopicCount(int lastDay);
}
package com.webservice.jsr181;import javax.jws.WebService;@WebService(serviceName = "BbtForumService",endpointInterface = "com.webservice.jsr181.BbtForumService")public class BbtFormServiceImp implements BbtForumService {
public int getRefinedTopicCount(int lastDay) {
return 0;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>XFireService</display-name><!-- begin Spring配置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml,/WEB-INF/xfire-servlet.xml
</param-value>
</context-param>
<listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.util.IntrospectorCleanupListener
</listener-class>
</listener><!-- end Spring配置 --><!-- begin XFire 配置 -->
<servlet>
<servlet-name>xfire</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xfire</servlet-name>
<url-pattern>*.ws</url-pattern>
</servlet-mapping>
<servlet><!-- 配合Spring容器中XFire一起工作的Servlet-->
<servlet-name>xfireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.spring.XFireSpringServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xfireServlet</servlet-name><!-- 在这个URI下开放Web Service服务 -->
<url-pattern>/service/*</url-pattern>
</servlet-mapping><!-- end XFire 配置 -->
</web-app>
applicationContext.xml文件:这里将不再需要xfire-servlet.xml但是会报错,该怎么除掉这个错误,我还不知道。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
<!-- ①该Bean获取Spring容器中所有标注@WebService的Bean -->
<bean id="webAnnotations"
class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations" />
<!-- ②对标注@WebService的Bean进行处理,完成导出工作 -->
<bean id="jsr181HandlerMapping"
class="org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping"> <property name="xfire" ref="xfire" /> <property name="webAnnotations" ref="webAnnotations" /></bean>
<bean id="bbtForum" class="com.webservice.jsr181.BbtFormServiceImp" />
</beans>
使用普通方式是在handler中指定访问路径:
<bean
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/HelloWorldService.ws">
<ref bean="HelloWorldService" />
</entry>
</map>
</property>
</bean>log4j.rootLogger=info,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss}\t %-5p \t%m%n
在web.xml文件中:
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param>
<listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>