webservice官网-webservice client

文章介绍:

retrofit 怎么连接webservice

如何让你的电脑通过安卓手机上网 (本人用的是三星GT-S5830,USB连接方式) 准备工作: 1.下载手机的usb驱动 2.下载PDANet,软件官网junefabrics/android/index.php, 选择Version 2.45 installer for 32-bit Windows 7/Vista/

nginx 怎么解决webservice跨域

下载Nginx

百度搜索Nginx,找到官网下载,如果是Linux系统,直接输入下面命令即可下载

wget

我们这里使用的是1.8.1版本

安装Nginx

使用tar xvf nginx-1.8.1.tar.gz命令,解压刚下载文件,得到一个nginx-1.8.1目录。

进入nginx-1.8.1,执行./configure --prefix=/usr/local/nginx命令,表示将nginx安装到/usr/local/nginx目录下。

在使用make make install命令正式安装nginx,完成后就可以在/usr/local/nginx目录下看到已经装好的nginx了。

如果安装权限不够,请使用sudo make install命令。

模拟跨域错误

启动Nginx,并在Nginx的html目录下,编写一个ajax.html页面,在里面通过ajax方式请求taobao的ip地址查询api。

在浏览器中访问,然后按F12即可在Console里面看到跨域错误。

下面我们就通过Nginx来解决这种跨域问题。

如何在工程中使用axis2部署webservice

一、新建Web Project,名为“WebServiceDemo”

二、下载axis2-1.5-war.zip包,解压缩

将axis2/WEB-INF/lib 里的jar包拷贝到 WebServiceDemo/WebRoot/WEB-INF/lib/

将axis2.war/axis2-web拷贝至WebServiceDemo/ WebRoot/axis2-web/

axis2需要的JAR包:

三、配置axis2 servlet

打开WebServiceDemo/WebRoot/WEB-INF/web.xml,增加如下配置:

servlet

servlet-nameAxisServlet/servlet-name

servlet-classorg.apache.axis2.transport.http.AxisServlet/servlet-class

load-on-startup1/load-on-startup

/servlet

servlet-mapping

servlet-nameAxisServlet/servlet-name

url-pattern/services/*/url-pattern

/servlet-mapping

四、写一个简单的web服务类

package service;

public class MyService {

public String sayHello(String name) {

return name + "says /"Hello!/"";

}

}

五、配置Web Service.

由于axis2已嵌入到WebServiceDemo项目中,所以web service就不用打包成aar,而是直接在/WEB-INF目录下创建相应的文件夹和services.xml,目录结构如下图:

六、services.xml

?xml version="1.0" encoding="UTF-8"?

service name="fmService" targetNamespace="webservice.sinohuarui.com"

schema schemaNamespace="webservice.sinohuarui.com/xsd/" /

description

my web service

/description

parameter name="ServiceClass"service.MyService/parameter

operation name="sayHello"

messageReceiver class="7aa9-9adb-080d-7e18 org.apache.axis2.rpc.receivers.RPCMessageReceiver" /

/operation

/service

如果一个类具有多个webservice方法的时候,使用serviceGroup进行配置:

?xml version="1.0" encoding="UTF-8"?

serviceGroup

service name="myService"

descriptionWeb Service例子/description

parameter name="ServiceClass"service.MyService/parameter

messageReceivers

messageReceiver mep="w3.org/2004/08/wsdl/in-out" class="9adb-080d-7e18-893a org.apache.axis2.rpc.receivers.RPCMessageReceiver" /

messageReceiver mep="w3.org/2004/08/wsdl/in-only" class="080d-7e18-893a-915e org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /

/messageReceivers

/service

/serviceGroup

七、在浏览器中访问localhost:8080/WebServiceDemo/services/listServices

可以看到myService服务,说明服务已部署成功

输入localhost:8080/WebServiceDemo/services/myService?wsdl

可以查看到该Web服务的描述文件

其实,axis2-web下面的东西可以不要那么多,我就只保留了index.jsp,httpbase.jsp和listServices.jsp这三个文件

PHP如何调用webservice

最近工作中需要用php调用web service接口,对php不熟,上网搜搜,发现关于用php调用web service的文章也不多,不少还是php4里用nusoap这个模块调用的方法,其实php5里已经包含了处理soap的模块,但是资料太少了,上php官网上查帮助,写的不是很容易理解,经过多次实践,终于搞清楚了,php调用web service还是非常简单的。下面用一个例子说明:

web service服务是查询QQ用户是否在线

使用php5开发客户端:

?php

try {

    //$client = new SoapClient("HelloService.wsdl",array('encoding'='UTF-8'));

    $client = new SoapClient("webservices/qqOnlineWebService.asmx?wsdl");

  var_dump($client-__getFunctions());

  print("br/");

  var_dump($client-__getTypes());

  print("br/");

class qqCheckOnline{

 var $qqCode = "10000";

};

$arrPara = array(new qqCheckOnline);

  $arrResult = $client-__Call("qqCheckOnline",$arrPara);//$client-qqCheckOnline($arrPara);

  

  echo $arrResult-qqCheckOnlineResult . "br/";

} catch (SOAPFault $e) {

    print $e;

}

?

代码确实很简单吧,创建SoapClient对象时,可以使用保存在本地WSDL文件,也可以使用远程的地址,后面的array数组里可以带上很多的参数,具体参数可以查php的SoapClient帮助,这里带的是字符集编码,如果调用方法的参数里有中文,一定要指定字符集编码,否则会出错。

调用web service前可以先调用SoapClient的__geunctions()和__getTypes()方法看一下你要调用的web service暴露的方法,参数和数据类型,需要注意的是传入的参数名一定要和soapclient里面定义的一致,否则参数是传不过去的。

需要使用SoapClient的__soapCall()或__call()方法,具体使用方法可以查php的帮助文档。如果参数要求是一个结构体,请用类代替,如上面的代码。

另外发现个问题,如果web service方法返回的是xml格式的字符串,php接收到以后会自己把数据内容解析出来,而不是xml字符串.

如何搭建基于cxf的webservice服务端

方法/步骤

如果是搭建web项目,首先可以从官网上示例程序,将里面的web.xml文件直接替换到新建的项目。进入apache官网,点击project

点击选择下载的镜像文件,通过这个链接就可以进入apache下所有开源项目下载地址界面。

找到cxf项目,选择合适的版本,可以下载带有源码或者不带有源码的程序示例

创建maven工程。打开eclipse,点击File--新建--Maven project就可以创建maven工程。

打开maven项目的pom.xml文件,将cxf需要的jar包添加到依赖中。

(由于文件内容比较多,如果你有需要,可以留言)

编写对外公布的接口和实现类。编写对外公布的接口,同时在接口的上面添加@Webservice的注解。编写实现类也要添加。

启动项目,本示例采用java application的方式启动,启动之后,在浏览器中输入地址就可以访问到wsdl文件内容。


原文链接:https://671922.com/29752.html

相关文章

访客
访客
发布于 2022-09-10 16:56:16  回复
pping四、写一个简单的web服务类package service; public class MyService {public String sayHello(String name) {return name + "sa
访客
访客
发布于 2022-09-10 16:52:53  回复
,axis2-web下面的东西可以不要那么多,我就只保留了index.jsp,httpbase.jsp和listServices.jsp这三个文件PHP如何调用we
访客
访客
发布于 2022-09-10 22:12:36  回复
oService.wsdl",array('encoding'='UTF-8'));    $client = new SoapClient("webservices/qqOnlineWebService.

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

返回顶部