Protocolo SOAP

3 respostas
ricardocomp

Olá pessoal alguém já trabalhou com o SOAP?
Eu estou com uma dúvida aqui e já faz dias
que eu não estou conseguindo resolver esse problema

Eu tenho a seguinte entrada:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:qpsprojectmanager">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:addProject soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <in0 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">projetoTeste</in0>
         <in1 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">Teste</in1>
      </urn:addProject>
   </soapenv:Body>
</soapenv:Envelope>

e a minha saída está com problema

<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>
      <soapenv:Fault>
         <faultcode>soapenv:Server.generalException</faultcode>
         <faultstring>WSDoAllReceiver: Request does not contain required Security header</faultstring>
         <detail>
            <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">a5</ns1:hostname>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

Será que alguém poderia me dar uma ajuda?

[]'s.

3 Respostas

Alexandre_Saudate

Cara, isso é uma requisição pra serviço seguro. Ele está sentindo falta de um Header (um elemento que vai dentro do envelope, antes do body), que contenha um elemento de segurança. Converse com quem te forneceu o wsdl pra ver qual é o tipo de segurança requerida.

[]´s

ricardocomp

Falaaa asaudate, tudo jóia?

então eu usei um sniffer aqui para capturar os pacotes enviados pelo protocolo
SOAP e encontrei o seguinte cabeçalho

POST /SpagoBI/sdk/QPSProjectManager HTTP/1.1
...
User-Agent: Jakarta Commons-HttpClient/3.1
...

eu tenho um exemplo de cabeçalho correto

POST /SpagoBI/sdk/QPSProjectManager HTTP/1.0
...
User-Agent: Axis/1.4
...

O problema é q o meu pacote está usando o Jakarta qdo deveria estar usando o Axis
o problema é q ñ sei o q eu devo fazer agora, será q vc ou alguém poderia me dar uma ajuda?

[]'s.

ricardocomp

asaudate o problema do cabeçalho eu consegui resolver
era um problema de incompatibilidade entre as minhas bibliotecas
mas o erro aqui continua o mesmo

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode: 
 faultString: WSDoAllReceiver: Request does not contain required Security header
 faultActor: 
 faultNode: 
 faultDetail: 
        {http://xml.apache.org/axis/}hostname:a5

WSDoAllReceiver: Request does not contain required Security header
        at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
        at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
        at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
        at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
        at it.eng.spago4q.sdk.stub.QPSProjectManagerSoapBindingStub.addProject(QPSProjectManagerSoapBindingStub.java:116)
        at it.eng.spago4q.sdk.proxy.QPSProjectManagerProxy.addProject(QPSProjectManagerProxy.java:76)
        at ServletResults.doPost(ServletResults.java:40)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)

Eu ñ sei mais o q pode ser agora, será que tem como vc ou alguém me dar uma ajuda?

[]'s.

Criado 13 de janeiro de 2011
Ultima resposta 13 de jan. de 2011
Respostas 3
Participantes 2