【发布时间】:2016-05-19 10:01:58
【问题描述】:
我正在尝试在我的开发环境中通过soapui 测试我的wcf 休息服务,虽然我的服务正在被命中,但参数总是收到空值。
我使用 POST 方法从 SOAPUI 传递字符串 xml,但我总是在 XMLData 方法的 xmlString 参数中得到 null。我在 SOAPUI 中尝试了各种组合,但每次我收到一个 null 值。
我的意图是将xml参数发送到内网中的另一个服务。
这是我的服务接口
[ServiceContract]
public interface IPayGService
{
[OperationContract]
[WebInvoke(Method="POST",RequestFormat=WebMessageFormat.Xml,ResponseFormat=WebMessageFormat.Xml,BodyStyle=WebMessageBodyStyle.Bare,UriTemplate="XMLData")]
void XMLData(string xmlString);
}
上面是服务契约的实现
public class PayGService : IPayGService
{
public void XMLData(string xmlString)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://10.77.146.113:8081/PAGUIManager/rest/response");
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(xmlString);
request.ContentType = "text/xml; encoding='utf-8'";
request.ContentLength = bytes.Length;
request.Method = "POST";
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream responseStream = response.GetResponseStream();
string responseStr = new StreamReader(responseStream).ReadToEnd();
}
}
}
Here's what I'm trying to post from SOAP UI "<![CDATA[<response> <requestType>CC</requestType><pagTransId>CSS1234</pagTransId> <pgTransId>PG12345</pgTransId><amount>1200</amount><Status>SUCCESS</Status> <message>Payment Successful</message><MSISDIN>8888853991</MSISDIN><bankRef>123bank</bankRef> <bankCode>123</bankCode><checkSum>%%%%%%%^^^^&&& </checkSum> <cartInfo>8888853991:001:100</cartInfo></response>]]"
【问题讨论】:
-
你在
SoapUI发什么帖子? -
将其编辑到问题中,然后删除评论。