<script type="text/javascript"><!--
document.domain = "iteye.com";
// --></script>
1 实现jax-ws规范的webservice
2 配置跨域访问
(1)下载jax-ws lib包
(2)创建webservice接口
package com.iit.server;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface IHelloService {
@WebMethod String helloWorld();
}
(3)实现接口
package com.iit.server;
import javax.jws.WebService;
@WebService(endpointInterface = "com.iit.server.IHelloService")
public class HelloServiceImpl implements IHelloService{
public String helloWorld() {
// TODO Auto-generated method stub
return "Hi I am Return";
}
}
(4)发布webservice,jax2.0有2种发布方式,一种是通过一个main函数来实现类型web服务器发布的模式,另外一种是在web服务器种发布,下面是main函数实现的发布
package com.iit.server;
import javax.xml.ws.Endpoint;
import javax.xml.ws.http.HTTPBinding;
public class SoapServer {
public static void main(String args[]){
HelloServiceImpl service= new HelloServiceImpl();
Endpoint.publish("http://123.14.137.164:8080/hello", service);
}
}
(5)访问
http://123.14.137.164:8080/hello?wsdl来观察结果
2 配置跨域访问
创建
package com.iit.server;
import java.io.StringReader;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.ws.Provider;
import javax.xml.ws.ServiceMode;
import javax.xml.ws.WebServiceProvider;
@WebServiceProvider
public class CrossDomainProvider implements Provider<Source> {
public Source invoke(Source request) {
System.out.print(request);
String replyData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<access-policy>" + "<cross-domain-access>" + "<policy>"
+ "<allow-from http-request-headers=\"*\">"
+ "<domain uri=\"*\"/>" + "</allow-from>" + "<grant-to>"
+ "<resource path=\"/\" include-subpaths=\"true\"/>"
+ "</grant-to>" + "</policy>" + "</cross-domain-access>"
+ "</access-policy>";
StreamSource reply = new StreamSource(new StringReader(replyData));
return reply;
}
}
在发布时加入:package com.iit.server;
import javax.xml.ws.Endpoint;
import javax.xml.ws.http.HTTPBinding;
public class SoapServer {
public static void main(String args[]){
Endpoint e = Endpoint.create(HTTPBinding.HTTP_BINDING, new CrossDomainProvider());
e.publish("http://123.14.137.164:8080/clientaccesspolicy.xml");
HelloServiceImpl service= new HelloServiceImpl();
Endpoint.publish("http://123.14.137.164:8080/hello", service);
}
}
注意:(在文本服务器发布的时候 可以手动生产一个clientaccesspolicy.xml文件,这个文件需要放在web服务器根目录中。)
分享到:
相关推荐
NULL 博文链接:https://zhouyangchenrui.iteye.com/blog/427328
java cxf webservice接口解决跨域问题,cors-filter-1.7.jar、java-property-utils-1.9.jar,以及web.xml文件配置
springmvc配置webservice服务的例子,下载直接可以运行,可以参考java的webservice服务的配置
多的不说,就是xfire构建WebService例子,分为服务端和客户端
JAVA写webservice例子了JAVA写webservice例子了JAVA写webservice例子了JAVA写webservice例子了
webservice的简单例子
OSGI + Webservice 例子 新手入门的例子
Spring+webservice例子,不含LIB,全代码
WCF和webservice例子
测试。。WebService例子测试。。WebService例子测试。。WebService例子测试。。WebService例子
【 webservice 】- 白名单配置
SOAP调用webservice例子,一个用SOAP调用webservice的例子
现在主流的webService框架,一个是axis2,一个是cxf,本资源是基于cxf框架的简单例子
.net调用webservice接口例子.net调用webservice接口例子.net调用webservice接口例子.net调用webservice接口例子
用camel-cxf调用webservice和发布一个webservice接口例子,首先启动QueryServiceMain主函数启动webservice接口,然后启动测试类TestWebservice。例子主要是实现java代码实现camel调用webservice接口
webservice配置,教你学会使用webservice!
javawebservice例子.pdf
创建一个很简单的WEBSERVICE,新手可以看看
NULL 博文链接:https://7wolfs.iteye.com/blog/912977