2014-09-11 1 views
0

Я звоню службу SOAP следующим образомх-WWW-форм-urlencoded ответ игнорируемые вызова службы WCF

BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport); 
EndpointAddress address = new EndpointAddress(System.Configuration.ConfigurationManager.AppSettings.Get("ServiceUri")); 
ChannelFactory<IServiceInterface> factory = new ChannelFactory<IServiceInterface>(binding, address); 
ISecPay3DSecure channel = factory.CreateChannel(); 

string rawResponse = channel.MethodName(params); 

Я сгенерировал IServiceInterface с помощью Wsdl.exe таким образом:

wsdl /si https://serviceUri 

Затем я обозначил сгенерированный интерфейс атрибутами [ServiceContract] и [OperationContract].

, когда я называю channel.MethodName(..); метод, который он, кажется, работает хорошо, но строка предполагается возвращать всегда null, я разжег скрипача и можно увидеть, что на самом деле эта служба отвечает правильно и, кажется, что проблема заключается с каналом просто не имеем дело с ответом правильно, таким образом:

HTTP/1.1 200 OK 
Server: Apache-Coyote/1.1 
Content-Type: text/xml;charset=utf-8 
Date: Thu, 11 Sep 2014 08:48:02 GMT 
Transfer-Encoding: chunked 
Connection: Keep-Alive 

529 
<?xml version="1.0" encoding="utf-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soapenv:Body><ns1:ServiceRequestResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://tempuri.org/"> 
<ServiceRequestReturn xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">/">?valid=true&amp;test_status=true&amp;tra.... 

предположительно я что-то в конфигурации канала не хватает?

любые указатели будут с благодарностью получили

Я также попытался добавить ClientMessageInspecor, чтобы увидеть, что на самом деле происходит и снова System.ServiceModel.Channels.Message reply действительно есть данные в., Но, как только он возвращается к вызывающему это было комплект обнулить ..

благодаря

ответ

0

кажется, что это потому, что я опустил [return: System.Xml.Serialization.SoapElementAttribute("NameOfSoapElement")] атрибут из метода интерфейса

Смежные вопросы