
可以通过xfire,或者axis2来生成客户端,然后调用websense服务端的代码 就可以了啊。。你查一下 axis2 客户端服务端代码,研究下,就可以了。。你的公司难道没有人使用过webservice????
你的功能就是一个客户端。如果给你传的是一个xml的话,你可以用dom4j,sax来解析报文就可以了。
你的 WCF 服务协定是怎么写的?如果方法参数直接包含 Stream 类型对象,这个对象就是你要的文件流。例如:
[ServiceContract()]public interface IMyService
{
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyleBare, UriTemplate = "user/avatar")]
void UploadUserAvatar(Stream ins);
}
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsModeAllowed)]
public class MyService : IMyService
{
public void UploadUserAvatar(Stream ins)
{
// 将保存至1png
using (FileStream fs = new FileStream("C:\1png", FileModeOpenOrCreate, FileAccessWrite))
{
BinaryReader reader = new BinaryReader(ins);
byte[] buffer;
BinaryWriter writer = new BinaryWriter(fs);
long offset = fsLength;
long len = 0;
writerSeek((int)offset, SeekOriginBegin);
do
{
len += 1024;
buffer = readerReadBytes(1024);
writerWrite(buffer);
} while (bufferLength > 0);
fsClose();
readerDispose();
writerDispose();
}
}
}
方法/步骤在进行webservice客户端开发时,首先需要获取到服务端的webservice服务地址,根据服务地址以及通讯协议创建对应的客户端请求。如果对方提供的是一个服务地址,可以通过浏览器将复制粘贴进去。从页面上可以看出这是一个基于axis框架生成的一个webservice服务端。在服务端地址后面加上“wsdl”(注意是英文的问号),在页面中就可以看到服务端公布出来的各种服务、命名空间等其他信息。通过element可以看出,服务端公布出来两个方法:sayHello和sayNo。后面带有Response的说明是服务端返回的信息。根据服务端提供的地址,在soapUI工具上创建webservice客户端请求。打开soapUI软件,在软件的左上角点击file文件,在d出页面中有三种方式,一般新增的使用第一种new soapUI project新建一个soapUI项目。点击新建soapUI项目之后,在d出框中,需要输入服务端的地址(注意地址后面要加上"wsdl"英文符号),Project Name项目名称可以有汉字,能够自己区分是哪个服务端的项目即可。其他的值选择默认即可,不需要勾选其他选项,点击Ok即可创建好项目。服务端方法公布展示。通过服务端的地址,创建一个soap项目之后,soapUI就自动解析服务端提供的方法接口。从示例中可以看出这个服务对外提供了两个服务接口sayHello和sayNo。点开其中的Request 1可以看到这个请求的报文信息以及这个请求需要的参数和参数类型。消息的报文头信息和命名空间已经通过soapUI工具自动生成,在发送报文的时候只需要填写必要的入参即可。模拟客户端发送请求。在客户端输入需要的参数之后,点击左上角的“发送”按钮就可以模拟客户端请求发送。发送完成后,在右侧就可以看到服务端返回的信息,这就是整个消息发送请求和返回的全流程。wsdl文件方式的处理。对于有些服务端提供的不是类似上面的地址服务器,而是一些wsdl文件的方式。打开wsdl文件可以看到和在浏览器中打开服务端地址展示的内容相同,只是提供的方式不同而已。文件的格式可以是xml或者是wsdl的格式。通过wsdl文件内容创建project。点击File文件下面的“creates a new soapUI project“。通过选择一个文件的方式,就可以根据wsdl报文内容的方式创建客户端。点击右侧的Browse浏览按钮,找到wsdl文件文件,这个文件的后缀可以是wsdl的方式也可以是xml的方式,然后点击打开即可将文件导入到soapUI中,和服务地址类似,输入项目的名称,其他默认,点击OK即可创建成功。MyService是通过服务地址的方式创建,MyService2222是通过wsdl文件内容的方式创建的。通过比对可以看出,这两种方式创建的客户端是一致的。同样解析出sayHello和sayNo服务。END注意事项服务端地址后面添加的“wsdl”必须要求是英文的问号通过文件(后缀wsdl或者xml)的方式创建的时候,要保障文件头没有多余的空格空行。
以上就是关于JAVA怎么从webservice提取数据全部的内容,包括:JAVA怎么从webservice提取数据、如何查看调用WebService时发送的报文、关于.NET HTTP的POST请求获取报文体的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)