如何通过soap内存流?

时间:2011-07-17 11:32:15

标签: c# soap blob memorystream

我创建了内存流。

var memoryStream = new MemoryStream();
var binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(memoryStream, list.ToArray());

我需要将soap传递给java服务器并插入数据库。

如何创建webService方法?

@WebMethod(operationName = "CreateObject")
    public String CreateTopology(
            @WebParam(name = "session")int id_session, 
            @WebParam(name = "title") String title, 
            @WebParam(name = "content") Object content,
            @WebParam(name = "access") Integer access) {

修改 问题。我在C#中编译了对象。我需要通过SOAP Java将它传递给服务器,之后将其保存在类型为Blob的字段中的MySQL数据库中(可能不是blob)

2 个答案:

答案 0 :(得分:0)

看看这里:

//build a Call object
   Call call = new Call();
   call.setTargetObjectURI("urn:greetingService");
   call.setMethodName("sayGreeting");
   call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);

   //creating a parameter list
   Vector params = new Vector();
   params.addElement(new Parameter("name", String.class, name,null));

//adding the parameter(s) to the Call object
   call.setParams(params);

您正在设置方法名称“sayGreeting”,并在向量参数中指定将调用方法的参数。这个参数矢量是你需要的!

代码示例取自本教程的第2页,我非常推荐:http://javaboutique.internet.com/tutorials/SOAP/

答案 1 :(得分:0)

base64String - 以字符串

传递
var memoryStream = new MemoryStream();
var binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(memoryStream, m_workspace.ListPlatforms.ToArray());

String base64String = Convert.ToBase64String(memoryStream.ToArray());