日期:2014-05-17  浏览次数:20662 次

java web项目用restful方式调用webservice
最近接到一个项目,其中有一步是要与服务器上的webservice通信,从而执行修改数据库等的一系列操作。
但是webservice是第三方开发的,现在就知道几条调用webservice的curl命令,是他们之前测试用的。webservice应该是rest架构的。现在我要在我的javaweb项目中调用这些webservice,请问改怎么弄?

这是其中一个curl命令:
HTML code
curl -i -X PUT http://localhost:8080/data/something/%thing%/%subthing% -d "{'operation':'create_generic_thing','resourceName':‘thing','resourceType':'default'}“


------解决方案--------------------
rest把从数据库中读取的记录封装为JSON或XML对象传送到客户端的,所有你要在客户端解析!
------解决方案--------------------
探讨

webservice返回的是jason格式

------解决方案--------------------
// Remove the jsonDATA() callback cladding.
inputContent = inputContent.Trim();
if (inputContent.StartsWith("jsonDATA("))
inputContent = inputContent.Remove(0, "jsonDATA(".Length);
if (inputContent.EndsWith(")"))
inputContent = inputContent.Substring(0, inputContent.Length-1);

// Create a serializer for our type
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(XXX));

// Convert the text to a buffer of bytes
using (MemoryStream stream = new MemoryStream(Encoding.Unicode.GetBytes(inputContent)))
{
// Convert the stream buffer to an object with our serializer.
return serializer.ReadObject(stream) as XXX;
}