Boa tarde pessoal.
Estou tentando chamar o seguinte webMethodo de um serviço feito com o BEA WebLogic 9.2.
@WebMethod
@RolesAllowed(value={@SecurityRole(role=“users”)})
public string sayHello(String p_text)
{
return "Hello "+p_text;
}
O servidor esta implementando controle de autenticacao de usuarios cadastrados no console do WebLogic.
Consigo fazer build e publish normalmente porém não estou conseguindo consumir o serviço.
Preciso consumi-lo (necessariamente) com asp clássico (antigao) e lá eu tenho que montar a mensagem soap na mao antes de enviar.
É bem semelhante com o que o SOAPUI faz.
Quando eu tiro a anotation @RolesAllowed consigo consumir o servico sem problemas mas quando ativo a segurança sei que é preciso
passar usuario e senha no header da msg soap antes de fazer o request ao servidor.
estou tentando usar a seguinte msg soap como request:
<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ser=""http://br/com/transacional/"">
<soapenv:Header>
<wsse:UsernameToken>
<wsse:Username>ederbond</wsse:Username>
<wsse:Password Type=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile- 1.0#PasswordText"">mypassword</wsse:Password>
</wsse:UsernameToken>
</soapenv:Header>
<soapenv:Body>
<ser:sayHello>
</ser:sayHello>
</soapenv:Body>
</soapenv:Envelope>
Mas o servidor retorna o seguinte erro:
<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/""><soapenv:Header/><soapenv:Body><soapenv:Fault xmlns:fault=""soapenv""><faultcode>fault:VersionMismatch</faultcode><faultstring>Unable to parse the incoming request</faultstring><detail><bea_fault:stacktrace xmlns:bea_fault=""http://www.bea.com/servers/wls70/webservice/fault/1.0.0"">java.io.IOException
at weblogic.xml.domimpl.Loader.load(Loader.java:101)
at weblogic.xml.saaj.SOAPPartImpl.createDocumentFromInputStream(SOAPPartImpl.java:140)
at weblogic.xml.saaj.SOAPMessageImpl.createSOAPPart(SOAPMessageImpl.java:261)
at weblogic.xml.saaj.SOAPMessageImpl.constructMessage(SOAPMessageImpl.java:212)
at weblogic.xml.saaj.SOAPMessageImpl.<init>(SOAPMessageImpl.java:149)
at weblogic.xml.saaj.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:79)
at weblogic.xml.saaj.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:60)
at weblogic.wsee.connection.soap.SoapServerConnection.createSOAPMessage(SoapServerConnection.java:134)
at weblogic.wsee.connection.soap.SoapConnection.receive(SoapConnection.java:99)
at weblogic.wsee.ws.dispatch.server.ConnectionHandler.handleRequest(ConnectionHandler.java:241)
at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:127)
at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:85)
at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:173)
at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: javax.xml.stream.XMLStreamException: Prefix [wsse] used without binding it to a namespace URI
at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:208)
at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:241)
at weblogic.xml.domimpl.Loader.load(Loader.java:112)
at weblogic.xml.domimpl.Loader.load(Loader.java:96)
... 29 more
Caused by: Error at Line:0 Prefix [wsse] used without binding it to a namespace URI
at weblogic.xml.babel.baseparser.Element.setNameSpace(Element.java:111)
at weblogic.xml.babel.baseparser.StartElement.parse(StartElement.java:92)
at weblogic.xml.babel.baseparser.BaseParser.parseElement(BaseParser.java:453)
at weblogic.xml.babel.baseparser.BaseParser.parseSome(BaseParser.java:326)
at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:197)
... 32 more
Caused by: javax.xml.stream.XMLStreamException: Prefix [wsse] used without binding it to a namespace URI
at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:208)
at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:241)
at weblogic.xml.domimpl.Loader.load(Loader.java:112)
at weblogic.xml.domimpl.Loader.load(Loader.java:96)
at weblogic.xml.saaj.SOAPPartImpl.createDocumentFromInputStream(SOAPPartImpl.java:140)
at weblogic.xml.saaj.SOAPMessageImpl.createSOAPPart(SOAPMessageImpl.java:261)
at weblogic.xml.saaj.SOAPMessageImpl.constructMessage(SOAPMessageImpl.java:212)
at weblogic.xml.saaj.SOAPMessageImpl.<init>(SOAPMessageImpl.java:149)
at weblogic.xml.saaj.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:79)
at weblogic.xml.saaj.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:60)
at weblogic.wsee.connection.soap.SoapServerConnection.createSOAPMessage(SoapServerConnection.java:134)
at weblogic.wsee.connection.soap.SoapConnection.receive(SoapConnection.java:99)
at weblogic.wsee.ws.dispatch.server.ConnectionHandler.handleRequest(ConnectionHandler.java:241)
at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:127)
at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:85)
at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:173)
at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: Error at Line:0 Prefix [wsse] used without binding it to a namespace URI
at weblogic.xml.babel.baseparser.Element.setNameSpace(Element.java:111)
at weblogic.xml.babel.baseparser.StartElement.parse(StartElement.java:92)
at weblogic.xml.babel.baseparser.BaseParser.parseElement(BaseParser.java:453)
at weblogic.xml.babel.baseparser.BaseParser.parseSome(BaseParser.java:326)
at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:197)
... 32 more
Caused by: Error at Line:0 Prefix [wsse] used without binding it to a namespace URI
at weblogic.xml.babel.baseparser.Element.setNameSpace(Element.java:111)
at weblogic.xml.babel.baseparser.StartElement.parse(StartElement.java:92)
at weblogic.xml.babel.baseparser.BaseParser.parseElement(BaseParser.java:453)
at weblogic.xml.babel.baseparser.BaseParser.parseSome(BaseParser.java:326)
at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:197)
at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:241)
at weblogic.xml.domimpl.Loader.load(Loader.java:112)
at weblogic.xml.domimpl.Loader.load(Loader.java:96)
at weblogic.xml.saaj.SOAPPartImpl.createDocumentFromInputStream(SOAPPartImpl.java:140)
at weblogic.xml.saaj.SOAPMessageImpl.createSOAPPart(SOAPMessageImpl.java:261)
at weblogic.xml.saaj.SOAPMessageImpl.constructMessage(SOAPMessageImpl.java:212)
at weblogic.xml.saaj.SOAPMessageImpl.<init>(SOAPMessageImpl.java:149)
at weblogic.xml.saaj.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:79)
at weblogic.xml.saaj.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:60)
at weblogic.wsee.connection.soap.SoapServerConnection.createSOAPMessage(SoapServerConnection.java:134)
at weblogic.wsee.connection.soap.SoapConnection.receive(SoapConnection.java:99)
at weblogic.wsee.ws.dispatch.server.ConnectionHandler.handleRequest(ConnectionHandler.java:241)
at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:127)
at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:85)
at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:173)
at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
</bea_fault:stacktrace></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>"
Alguém tem idéia de como eu posso incluir o usuario e senha, cadastrados no console do wli, na msg soap ?