No SoapUI quando você coloca o WSDL na criação de um novo projeto ele já tras para você todos os requests das operações. Você tem o wsdl do webservice? Ou está fazendo a mão?
G
gaujava2
Isso, mas quando utilizo o SOAPui o request fica bem diferente, e quando submeto ele retorna erro.
HTTP/1.0415Unsupported Media TypeDate:Mon, 05 Nov 2012 16:52:34 GMTServer:Microsoft-IIS/6.0X-Powered-By:ASP.NETX-AspNet-Version:4.0.30319Cache-Control:privateContent-Length:0X-Cache:MISS from blablabla.com.brVia:1.0 blablabla.com.br (http_scan/3.1.12.1)Connection:keep-alive
Quando faço a requisição com essa ferramenta da MS que mencionei no início, o ws retorna conforme corretamente.
Entendo que teria que criar o xml conforme meu post inicial. O que te parece?
R
r-ngarcia
Estranho, nunca tinha visto isso ocorrer com o SoapUi, mas é isso mesmo que vc falou, se o webservice aceitou aquele envelope é só construir um request igual para obter um response.
vi vc falando do java.xml.soap
Aqui nesse link tem um exemplo de como montar um envelope. Usei uma vez e deu certo.
Estranho, esse erro é mais relacionado a serviços REST. De qualquer maneira, cheque qual o content type que oo soapui está passando e poste aqui.
G
gaujava2
Segue o request do SOAPui
POSThttp://127.0.0.1:8888/HTTP/1.1Accept-Encoding:gzip,deflateContent-Type:application/soap+xml;charset=UTF-8;action="http://tempuri.org/aaa/CreateServiceOrder"Content-Length:3117Host:127.0.0.1:8888Connection:Keep-AliveUser-Agent:Apache-HttpClient/4.1.1 (java 1.5)<soap:Envelopexmlns:soap="http://www.w3.org/2003/05/soap-envelope"xmlns:tem="http://tempuri.org/"xmlns:ssi="http://schemas.datacontract.org/2004/07/SSI.Integracaoaaa.Core.Model"xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><soap:Header/><soap:Body><tem:CreateServiceOrder><!--Optional:--><tem:webServiceCreateServiceOrder><!--Optional:--><ssi:BusinessBenefited>a</ssi:BusinessBenefited><!--Optional:--><ssi:Category>b</ssi:Category><!--Optional:--><ssi:CategoryDescription>c</ssi:CategoryDescription><!--Optional:--><ssi:CategorySituation>d</ssi:CategorySituation><!--Optional:--><ssi:CategorySubType>e</ssi:CategorySubType><!--Optional:--><ssi:CategoryType>f</ssi:CategoryType><!--Optional:--><ssi:CodeIntegration>g</ssi:CodeIntegration><!--Optional:--><ssi:Contract>h</ssi:Contract><!--Optional:--><ssi:ContractService>i</ssi:ContractService><!--Optional:--><ssi:ContractServiceCover>j</ssi:ContractServiceCover><!--Optional:--><ssi:DateTimeOfCreation>k</ssi:DateTimeOfCreation><!--Optional:--><ssi:Description>l</ssi:Description><!--Optional:--><ssi:EnvironmentalCondition>m</ssi:EnvironmentalCondition><!--Optional:--><ssi:Equipment>n</ssi:Equipment><!--Optional:--><ssi:ExternalCode>o</ssi:ExternalCode><!--Optional:--><ssi:GroupSolution>p</ssi:GroupSolution><!--Optional:--><ssi:Impact>q</ssi:Impact><!--Optional:--><ssi:IsPreOrder>r</ssi:IsPreOrder><!--Optional:--><ssi:Justify>s</ssi:Justify><!--Optional:--><ssi:Login>t</ssi:Login><!--Optional:--><ssi:LoginUserAgentResponsible>u</ssi:LoginUserAgentResponsible><!--Optional:--><ssi:LoginUserBenefited>v/ssi:LoginUserBenefited>
<!--Optional:--><ssi:LoginUserRequester>x</ssi:LoginUserRequester><!--Optional:--><ssi:ServiceOrderNumber>y</ssi:ServiceOrderNumber><!--Optional:--><ssi:Parameters><!--Zero or more repetitions:--><arr:ArrayOfstring><!--Zero or more repetitions:--><arr:string>z</arr:string></arr:ArrayOfstring></ssi:Parameters><!--Optional:--><ssi:Password>aa</ssi:Password><!--Optional:--><ssi:Priority>bb</ssi:Priority><!--Optional:--><ssi:Type>cc</ssi:Type><!--Optional:--><ssi:Urgency>dd</ssi:Urgency></tem:webServiceCreateServiceOrder></tem:CreateServiceOrder></soap:Body>
Segue o request do WcfTestClient (ferramenta do Visual Studio)
POSThttp://aaaaaaaaa.com.br/V5/aaa/xxxxIntegration.svcHTTP/1.1Content-Type:application/soap+msbin1Host:aaaak.com.brContent-Length:1070Expect:100-continueConnection:Keep-Alive
V
s
aVD
���9http://tempuri.org/aaa/eeeeServiceOrderD�‘YU
�@��ȶJ��D,D*�D���Whttp://aaaaaaaaaaaa.com.br/V5/aaaa/eeeen.svcV@CreateServiceOrderhttp://tempuri.org/@webServiceCreateServiceOrder bHhttp://schemas.datacontract.org/2004/07/SSI.aaaa.Core.Model i)http://www.w3.org/2001/XMLSchema-instance_BusinessBenefited.nil�_Category.nil�_CategoryDescription.nil�_CategorySituation.nil�_CategorySubType.nil�_CategoryType.nil�_CodeIntegration�_Contract.nil�_ContractService.nil�_ContractServiceCover.nil�_DateTimeOfCreation��nD���_
Description.nil�_EnvironmentalCondition�_ Equipment.nil�_ExternalCode.nil�_
GroupSolution.nil�_Impact�Low_
IsPreOrder�_aJustify.nil�_Login.nil�_LoginUserAgentResponsible.nil�_LoginUserBenefited.nil�_LoginUserRequester.nil�_aaaa�_
Parameters c9http://schemas.microsoft.com/2003/10/Serialization/Arrays_Password.nil�_Priority.nil�_Type�Incident_aUrgency�Low
A
Alexandre_Saudate
Bom… como eu disse, nunca ví essa mensagem antes. O erro que você reportou antes (415), em HTTP, é relativo ao content type.
Em ambas as ferramentas, o Content-Type está estranho. No SoapUI, não deveria ter o action. No Wcf, estou com a impressão de que ele está com algum tipo muuuuito estranho de MTOM habilitado, já que parece que ele está mandando um conteúdo binário para o serviço, ao invés de XML puro. Para fazer o teste, tente trocar, no SoapUI, o Content-Type para ver o que acontece. Para fazer isso, é só clicar na aba “Headers” (que está embaixo da tela para montar a requisição) e colocar o Content-Type lá. Eu utilizaria somente application/soap+xml;charset=UTF-8 para ver o que acontece, mas esse cliente que está montado está bem bizarro mesmo (fora do padrão). Não tenho muita idéia do que ele aceita (somente a pista do “msbin1”).
Boa sorte!
[]'s
G
gaujava2
Obrigado pelas dicas Alexandre.
Está bizarro, mas o dono do serviço afirmou que é um webservice padrão do mercado. E eles não podem alterar a configuração do servidor para trabalhar com application/soap+xml, é preciso enviar a requisição como application/soap+msbin1.
Segue a requisição e a resposta, conforme a alteração do header que você sugeriu.
POSThttp://aaaaaaaaa/V5/Integracaoeeee/eeee.svcHTTP/1.1Accept-Encoding:gzip,deflateContent-Type:application/soap+xml;charset=UTF-8Content-Length:3117Host:aaaaaa.com.brConnection:Keep-AliveUser-Agent:Apache-HttpClient/4.1.1 (java 1.5)<soap:Envelopexmlns:soap="http://www.w3.org/2003/05/soap-envelope"xmlns:tem="http://tempuri.org/"xmlns:ssi="http://schemas.datacontract.org/2004/07/SSI.Integracaosssss.Core.Model"xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><soap:Header/><soap:Body><tem:CreateServiceOrder><!--Optional:--><tem:webServiceCreateServiceOrder><!--Optional:--><ssi:BusinessBenefited>a</ssi:BusinessBenefited><!--Optional:--><ssi:Category>b</ssi:Category><!--Optional:--><ssi:CategoryDescription>c</ssi:CategoryDescription><!--Optional:--><ssi:CategorySituation>d</ssi:CategorySituation><!--Optional:--><ssi:CategorySubType>e</ssi:CategorySubType><!--Optional:--><ssi:CategoryType>f</ssi:CategoryType><!--Optional:--><ssi:CodeIntegration>g</ssi:CodeIntegration><!--Optional:--><ssi:Contract>h</ssi:Contract><!--Optional:--><ssi:ContractService>i</ssi:ContractService><!--Optional:--><ssi:ContractServiceCover>j</ssi:ContractServiceCover><!--Optional:--><ssi:DateTimeOfCreation>k</ssi:DateTimeOfCreation><!--Optional:--><ssi:Description>l</ssi:Description><!--Optional:--><ssi:EnvironmentalCondition>m</ssi:EnvironmentalCondition><!--Optional:--><ssi:Equipment>n</ssi:Equipment><!--Optional:--><ssi:ExternalCode>o</ssi:ExternalCode><!--Optional:--><ssi:GroupSolution>p</ssi:GroupSolution><!--Optional:--><ssi:Impact>q</ssi:Impact><!--Optional:--><ssi:IsPreOrder>r</ssi:IsPreOrder><!--Optional:--><ssi:Justify>s</ssi:Justify><!--Optional:--><ssi:Login>t</ssi:Login><!--Optional:--><ssi:LoginUserAgentResponsible>u</ssi:LoginUserAgentResponsible><!--Optional:--><ssi:LoginUserBenefited>v/ssi:LoginUserBenefited>
<!--Optional:--><ssi:LoginUserRequester>x</ssi:LoginUserRequester><!--Optional:--><ssi:ServiceOrderNumber>y</ssi:ServiceOrderNumber><!--Optional:--><ssi:Parameters><!--Zero or more repetitions:--><arr:ArrayOfstring><!--Zero or more repetitions:--><arr:string>z</arr:string></arr:ArrayOfstring></ssi:Parameters><!--Optional:--><ssi:Password>aa</ssi:Password><!--Optional:--><ssi:Priority>bb</ssi:Priority><!--Optional:--><ssi:Type>cc</ssi:Type><!--Optional:--><ssi:Urgency>dd</ssi:Urgency></tem:webServiceCreateServiceOrder></tem:CreateServiceOrder></soap:Body></soap:Envelope>
Resposta
HTTP/1.1415Cannot process the message because the content type 'application/soap+xml;charset=UTF-8' was not the expected type 'application/soap+msbin1'.Date:Thu, 08 Nov 2012 00:03:08 GMTServer:Microsoft-IIS/6.0X-Powered-By:ASP.NETX-AspNet-Version:4.0.30319Cache-Control:privateContent-Length:0
A
Alexandre_Saudate
Padrão do mercado .NET, só se for =/
O que acontece se você colocar esse header, então, como application/soap+msbin1 e deixar o corpo como XML?
HTTP/1.1400Bad RequestDate:Thu, 08 Nov 2012 00:15:05 GMTServer:Microsoft-IIS/6.0X-Powered-By:ASP.NETX-AspNet-Version:4.0.30319Cache-Control:privateContent-Length:0
A
Alexandre_Saudate
Acabei de fazer uma pesquisa aqui no Google e, de fato, isso é um formato de compressão proprietário da Microsoft. Não há ferramenta Java (ou qualquer outra linguagem) que vá suportar estes serviços. Eu fiz uns testes com o SoapUI (o serviço está aberto), e também não consigo fazer a requisição de jeito nenhum.
G
gaujava2
O dono do serviço falou que já existem em produção dois usuários desse ws que fizeram seus clientes com java.
Será que mesmo esse projeto metro não dá conta do recado?