我需要从java客户端将数据协定传递给我的wcf webservice。数据合同有2个字段都是字符串。创建代理后,我正在尝试的代码位于
之下FileTransfer fs = new FileTransfer(); // 1 -- This is my service
IFileTransfer ifs = fs.getBasicHttpBindingIFileTransfer();//2
ServiceMessage request = new ServiceMessage();//3
ObjectFactory factory = new ObjectFactory();//4
JAXBElement<String> createfilename= factory.createString("myimg.txt");//5
request.setFileName(createfilename);//6
String returnfilename = ifs.uploadFile(request); //7
System.out.println(createfilename.getValue()); //8
System.out.println(returnfilename );//9 -- returns Null
这里serviceMessage是数据合约。在输入'请求'时。在eclipse中我看到一个setfilename方法(filename是数据库之一)来添加我想要传递的字符串。但它只接受JAXBElement类型而不接受字符串。所以在第4行和第5行中,我尝试将我的字符串转换为JAXBElement并将其传递给服务。 第7行我正在调用我的web方法,我已经修改了返回文件名以检查我的文件名是否正确到达webservice。但第9行返回null而不是我传递的文件名,因为第8行正确打印文件名。 我的webmethod字面意思就是这个
return request.FileName;
即使我正确发送文件名(证据第8行),也可以请某人帮助我,webmethod返回Null