Return-Path:
Delivered-To: apmail-ws-axis-user-archive@www.apache.org
Received: (qmail 25926 invoked from network); 16 Sep 2009 12:40:05 -0000
Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3)
by minotaur.apache.org with SMTP; 16 Sep 2009 12:40:05 -0000
Received: (qmail 80270 invoked by uid 500); 16 Sep 2009 12:40:03 -0000
Delivered-To: apmail-ws-axis-user-archive@ws.apache.org
Received: (qmail 80213 invoked by uid 500); 16 Sep 2009 12:40:03 -0000
Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm
Precedence: bulk
Reply-To: axis-user@ws.apache.org
list-help:
list-unsubscribe:
List-Post:
List-Id:
Delivered-To: mailing list axis-user@ws.apache.org
Received: (qmail 80193 invoked by uid 99); 16 Sep 2009 12:40:03 -0000
Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230)
by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Sep 2009 12:40:03 +0000
X-ASF-Spam-Status: No, hits=-0.0 required=10.0
tests=SPF_HELO_PASS,SPF_PASS
X-Spam-Check-By: apache.org
Received-SPF: pass (nike.apache.org: domain of lists@nabble.com designates
216.139.236.158 as permitted sender)
Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158)
by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Sep 2009 12:39:53 +0000
Received: from isper.nabble.com ([192.168.236.156])
by kuber.nabble.com with esmtp (Exim 4.63)
(envelope-from )
id 1MntnH-00083S-TO
for axis-user@ws.apache.org; Wed, 16 Sep 2009 05:39:31 -0700
Message-ID: <25471523.post@talk.nabble.com>
Date: Wed, 16 Sep 2009 05:39:31 -0700 (PDT)
From: gerhard presser
To: axis-user@ws.apache.org
Subject: Re: Wrong response when authentication fails with Rampart (not SOAP
but HTML)
In-Reply-To: <9e2fff830907070958n6dd3ee80taeffde68d4cd7df9@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Nabble-From: gpresser@groiss.com
References: <359e9d80907030421x20c04976x8e33da6e326f3d54@mail.gmail.com>
<9e2fff830907070958n6dd3ee80taeffde68d4cd7df9@mail.gmail.com>
X-Virus-Checked: Checked by ClamAV on apache.org
Hi!
I'm using Axis2 1.5 and Rampart 1.4 --> same problem :-(
regards,
Gerhard
Nunny wrote:
>=20
> Hi Giuseppe,
> Are you using Axis2 1.4.1 and Rampart 1.3 ? Can you try
> with
> Rampart 1.4 ?
>=20
> regards,
> Nandana
>=20
> On Fri, Jul 3, 2009 at 4:51 PM, Giuseppe Gortan
> wrote:
>=20
>> Hi everybody.
>>
>> I have a problem with axis2 (1.4.1) and rampart (1.3).
>> I put a simple policy in services.xml [1] and I wrote a
>> PasswordHandler [2]. Everything works fine if user and password are
>> correct. When the user doesn't exist (getUser returns
>> UserNotFoundException), the authentication process (correctly) fails,
>> but returning a HTML error page [5] instead of a SOAP response
>> message. The servlet engine logs an error message coming from the Axis
>> Servlet [4], and the SOAP client, that uses a library generated by
>> WSDL2Java, logs the error "First Element must contain the local name,
>> Envelope , but found html" [3].
>>
>> I want to return to the client a custom SOAP error message if
>> authentication process fails. How can I do it?
>>
>> Thanks,
>>
>> Giuseppe
>>
>>
>> [1] Policy
>>
>>
>> UsernameToken
>>
>> mypackage.myapp.PasswordHandler
>>
>>
>>
>>
>> [2] PasswordHandler
>> public class PasswordHandler implements CallbackHandler {
>> public void handle(Callback[] callbacks) throws IOException,
>> UnsupportedCallbackException {
>> for (int i =3D 0; i < callbacks.length; i++) {
>> if (callbacks[i] instanceof WSPasswordCallback) {
>> try{
>> WSPasswordCallback pwcb =3D
>> (WSPasswordCallback) callbacks[i];
>> String username =3D
>> pwcb.getIdentifer();
>> String user =3D getUser(username)=
;
>> String password =3D
>> getPlainPassword(user);
>>
>> int passwordType =3D
>> pwcb.getUsage();
>> if (passwordType =3D=3D
>> WSPasswordCallback.USERNAME_TOKEN) {
>> =20
>> pwcb.setPassword(password);
>> } else {
>> throw new
>> UnsupportedCallbackException(callbacks[i],
>> "Unrecognized Callback");
>> }
>> } catch (UserNotFoundException e){
>> throw new AxisFault("No user found",
>> e.getCause());
>> }
>> }
>> }
>> }
>>
>> [3] First Element must contain the local name, Envelope , but found html
>> org.apache.axis2.AxisFault: First Element must contain the local name,
>> Envelope , but found html
>> at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>> at
>> org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUti=
ls.java:90)
>> at
>> org.apache.axis2.description.OutInAxisOperationClient.handleResponse(Out=
InAxisOperation.java:353)
>> at
>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOper=
ation.java:416)
>> at
>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInA=
xisOperation.java:228)
>> at
>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163=
)
>> at
>> mypackage.myapp.WebservicesStub.myRemoteWS(WebservicesStub.java:6642)
>> at mypackage.myapp.client.Client.main(Client.java:63)
>> Caused by: org.apache.axiom.soap.SOAPProcessingException: First
>> Element must contain the local name, Envelope , but found html
>> at
>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(St=
AXSOAPModelBuilder.java:251)
>> at
>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(=
StAXSOAPModelBuilder.java:209)
>> at
>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElem=
ent(StAXSOAPModelBuilder.java:191)
>> at
>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:1=
72)
>> at
>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(=
StAXSOAPModelBuilder.java:156)
>> at
>> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.(StAXSOAPM=
odelBuilder.java:105)
>> at
>> org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:677=
)
>> at
>> org.apache.axis2.transport.TransportUtils.createDocumentElement(Transpor=
tUtils.java:182)
>> at
>> org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUti=
ls.java:112)
>> at
>> org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUti=
ls.java:88)
>> ... 6 more
>>
>> [4] Error log
>> GRAVE: Servlet.service() for servlet AxisServlet threw exception
>> java.lang.NullPointerException
>> at
>> org.apache.rampart.RampartMessageData.(RampartMessageData.java:308=
)
>> at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:61=
)
>> at
>> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
>> at org.apache.axis2.engine.Phase.invoke(Phase.java:317)
>> at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
>> at
>> org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:520)
>> at
>> org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java=
:416)
>> at
>> org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet=
.java:379)
>> at
>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:167)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>
>> [5]
>> HTTP/1.1 500 Internal Server Error
>>
>> Server: Apache-Coyote/1.1
>>
>> Content-Type: text/html;charset=3Dutf-8
>>
>> Content-Length: 2154
>>
>> Date: Fri, 03 Jul 2009 10:47:04 GMT
>>
>> Connection: close
>>
>>
>>
>>
>>
>> Apache Tomcat/6.0.18 - Error report
>>
>>
>>
>> HTTP Status 500 -
>>
>>
>> type Exception report
>>
>>
>> message
>>
>>
>>
>> description
>> The server encountered an internal error () that
>> prevented it from fulfilling this request.
>>
>>
>> exception
>>
java.lang.NullPointerException
>>=20
>> org.apache.rampart.RampartMessageData.<init>(RampartMessageData.ja=
va:308)
>> org.apache.rampart.MessageBuilder.build(MessageBuilder.java:61)
>> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
>> org.apache.axis2.engine.Phase.invoke(Phase.java:317)
>> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
>> org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:520)
>> org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java=
:416)
>>
>> org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet=
.java:379)
>>
>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:167=
)
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>
>>
>> note
>> The full stack trace of the root cause is available
>> in the Apache Tomcat/6.0.18 logs.
>>
>>
>> Apache Tomcat/6.0.18
>>
>>
>> --
>> =C2=ABThe phonograph has no commercial value at all.=C2=BB
>> Thomas Edison, American inventor, 1880s.
>>
>=20
>=20
>=20
> --=20
> Nandana Mihindukulasooriya
> WSO2 inc.
>=20
> http://nandana83.blogspot.com/
> http://www.wso2.org
>=20
>=20
--=20
View this message in context: http://www.nabble.com/Wrong-response-when-aut=
hentication-fails-with-Rampart-%28not-SOAP-but--HTML%29-tp24321586p25471523=
.html
Sent from the Axis - User mailing list archive at Nabble.com.