`
ieblaze
  • 浏览: 30474 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类

webservice例子及跨域访问配置

 
阅读更多

<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服务器根目录中。)
  • lib.rar (8.7 MB)
  • 下载次数: 23
分享到:
评论

相关推荐

    一个基于jquery调用WebService和WebService输出JSON的源码例子

    调用WebService时要考虑跨域问题,可能需要启用服务器端的CORS(跨源资源共享)。同时,优化Ajax请求,如使用缓存、设置超时等,可以提高性能和用户体验。 7. 开发工具与调试: 使用浏览器的开发者工具(如Chrome...

    tomcat跨域解决方案

    这段配置表示允许对`http://cnn.com/`和`http://news.yahoo.com/`这两个网站的任意子路径进行跨域访问。 此外,在Flex应用中,还需要在UI层面设置代理配置: ```xml &lt;mx:WebService url=...

    接收图片和文字的 ASP.NET WebService

    总的来说,创建一个接收图片和文字的ASP.NET WebService涉及到的知识点包括:ASP.NET WebService的原理和实现、RESTful API设计、HTTP请求的处理、文件上传与保存、C#编程、异常处理以及跨域访问配置。理解并掌握...

    jQuery使用Ajax方法调用WebService

    在这个例子中,`type`属性定义了请求类型,`url`指向WebService的地址和方法。`data`字段包含了发送给WebService的参数,通常需要转化为JSON格式。`contentType`指定发送的数据类型,而`dataType`则是预期的返回数据...

    android c# webservice 实现

    2. 配置WebService:在Web.config文件中设置允许跨域访问,这对于Android客户端来说很重要。 三、Android调用WebService 1. 添加网络权限:在AndroidManifest.xml中添加INTERNET权限。 ```xml ``` 2. 使用...

    Asp.net利用ScriptManager调用webservice

    最后,确保在Web.config文件中配置了服务允许跨域调用,以防在不同域下访问Web服务时出现问题: ```xml ``` 这就是一个基本的Asp.net利用ScriptManager调用Web服务的例子。通过这样的方式,我们...

    WebService整合spring

    需要注意的是,由于跨域限制,可能需要在服务器端配置CORS策略。 **6. 账户密码拦截器** 在CXF中,可以编写拦截器来实现特定的功能,如认证、授权等。在本例中,提到了"账户密码拦截器",这可能是一个自定义的...

    单点登陆实现(完全跨域、单点退出)

    - 配置跨域策略:确保各个应用能够互相通信并访问SSO服务。 - 实现会话共享:通过Memcached或其他缓存系统实现用户登录状态的全局共享。 - 创建服务接口:WebServices用于在应用之间交换登录状态信息。 - 编写登出...

    webservice asp.net mvc2

    在这个特定的场景中,我们关注的是在ASP.NET MVC2中实现Web服务(WebService)的功能。 在ASP.NET MVC2中,控制器(Controller)是核心组件,负责处理HTTP请求并返回响应。当涉及到Web服务时,控制器可以被用作服务...

    jsWebServices一个例子asp.net

    对于Web服务,你可能需要在此配置文件中设置允许跨域请求,以便JavaScript可以在不同的域上访问Web服务。 `AssemblyInfo.cs`文件用于定义项目的元数据,如版本信息、版权声明和安全特性。这在编译过程中很重要,...

    Silverlight2 跨域调用Web服务的方法

    在本文中,我们将深入探讨如何在...对于更多关于Silverlight 2安全策略和跨域访问的信息,可以参考Microsoft官方文档,例如“使服务跨域边界可用”(http://msdn.microsoft.com/zh-cn/library/cc197955(VS.95).aspx)。

    How to Use JS Calling A WebService By Post Both SOAP And JSON

    在服务器端配置相应的Access-Control-Allow-Origin头可以允许JavaScript从其他域访问资源。 总结来说,JavaScript调用SOAP和JSON Web服务主要涉及使用XMLHttpRequest或fetch API,设置适当的请求头,构造合适的请求...

    021-consume-get-request-spring-rest-webservice-jquery

    1. **跨域资源共享(CORS)**:如果你的前端和后端不在同一个域下,你需要在Spring配置中允许跨域请求。 2. **JSON格式**:通常REST服务返回JSON格式的数据,因为JSON易于解析且轻量级。 3. **错误处理**:前端需要...

    ArcGIS API for Javascript 开发教程

    13. **代理**:说明了在开发中可能需要使用代理来解决跨域问题的原因和配置方法。 以上知识点涵盖了ArcGIS API for Javascript开发的基础知识、高级特性和应用示例,是学习和掌握ArcGIS API for Javascript不可或缺...

Global site tag (gtag.js) - Google Analytics