Pessoal,
Estou tentando consumir um SOAP a partir do C# mas tá dando um erro chamado “SOAP negociantion”. Alguem saberia o porque?
Obs. estou consumindo WS so SugarCRM
abraço
[RESOLVIDO] - WCF client with SOAP service
G
1 Resposta
G
Resolvido pessoal. O App Config ficou assim:
<bindings>
<basicHttpBinding>
<binding name="SecureTransport">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://crm.acao.com/service/v4/soap.php" binding="basicHttpBinding" bindingConfiguration="SecureTransport" contract="sugar.sugarsoapPortType" name="SecureTransport"/>
</client>
</system.serviceModel>
Além disso, é preciso setar as credenciais em ClientCredentials (aqui eu tambem tiro a validade por certificado)
ClientCredentials.UserName.UserName = "XINT_SUGAR";
ClientCredentials.UserName.Password = "blah";
ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, errors) => true;
Por último, dependendo da quantidade de informação trafegando, ele vai chiar, faça isso:
BasicHttpBinding binding = base.ChannelFactory.Endpoint.Binding as BasicHttpBinding;
binding.MaxReceivedMessageSize = 20000000;
binding.MaxBufferSize = 20000000;
base.ChannelFactory.Endpoint.Binding = binding;
foreach (OperationDescription op in base.ChannelFactory.Endpoint.Contract.Operations)
{
DataContractSerializerOperationBehavior dataContractBehavior = op.Behaviors.Find<DataContractSerializerOperationBehavior>()
as DataContractSerializerOperationBehavior;
if (dataContractBehavior != null)
{
dataContractBehavior.MaxItemsInObjectGraph = 20000000;
}
}
Espero ter ajudado, obrigado!
Criado 7 de março de 2017
Ultima resposta 9 de mar. de 2017
Respostas 1
Participantes 1
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Programacao Web avancada com PHP: Construindo software... Por Flavio Lisboa — Casa do Codigo