Return-Path: Delivered-To: apmail-axis-java-dev-archive@www.apache.org Received: (qmail 37953 invoked from network); 14 Sep 2010 00:50:00 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 14 Sep 2010 00:50:00 -0000 Received: (qmail 56021 invoked by uid 500); 14 Sep 2010 00:50:00 -0000 Delivered-To: apmail-axis-java-dev-archive@axis.apache.org Received: (qmail 55827 invoked by uid 500); 14 Sep 2010 00:49:59 -0000 Mailing-List: contact java-dev-help@axis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-dev@axis.apache.org Delivered-To: mailing list java-dev@axis.apache.org Received: (qmail 55819 invoked by uid 99); 14 Sep 2010 00:49:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 14 Sep 2010 00:49:59 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED,WEIRD_PORT X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 14 Sep 2010 00:49:56 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o8E0nZJr008010 for ; Tue, 14 Sep 2010 00:49:35 GMT Message-ID: <29718156.168751284425375051.JavaMail.jira@thor> Date: Mon, 13 Sep 2010 20:49:35 -0400 (EDT) From: "Mark Kinsella (JIRA)" To: java-dev@axis.apache.org Subject: [jira] Commented: (AXIS2-4060) wsdl2java is unable to retrieve a WSDL when basic authentication is required MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/AXIS2-4060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909072#action_12909072 ] Mark Kinsella commented on AXIS2-4060: -------------------------------------- I was able to reproduce (read: I struggled with) this error, so I tested it with a quick-and-dirty PHP page to view what (if any) credentials were being passed. None were. So, I looked into the source a bit to see what I could find. I'm a little rusty on how java.net.URL is intended to work these days, but it seemed that the root of this issue lies in the wsdl4j-1.6.2 library, used by axis2, as it doesn't appear to subclass the Authenticator class anywhere. Specifically, the class com.ibm.wsdl.util.StringUtils and its method getContentAsInputStream(URL url) doesn't seem to be sending any authentication when it calls url.openStream() I added an inner class within that class, and added one line to the getContentAsInputStream and was able to get access to the WSDL file using my credentials. ...... Here's my inner class... ..... static class WSDLAuthenticator extends Authenticator { public PasswordAuthentication getPasswordAuthentication() { String[] userInfoParts = uri.getUserInfo().split(":"); return (new PasswordAuthentication(userInfoParts[0], userInfoParts[1].toCharArray())); } } ...... and I added this line after the if (url == null) block, to point the URL object to the Authenticator ...... Authenticator.setDefault(new WSDLAuthenticator()); ....... Not sure what the protocol is for suggesting patches to the wsdl4j project , but I suppose I'll cross my fingers that good karma will come my way if I try. I believe the wsdl4j code is CPL'd. Anyway, thought I'd post this in case anyone finds it useful, or wishes to critique my approach. > wsdl2java is unable to retrieve a WSDL when basic authentication is required > ---------------------------------------------------------------------------- > > Key: AXIS2-4060 > URL: https://issues.apache.org/jira/browse/AXIS2-4060 > Project: Axis2 > Issue Type: Bug > Affects Versions: 1.4.1, 1.4 > Reporter: Jorge Medina > Assignee: Dimuthu Leelarathne > > When access to the WSDL requires basic authentication, wsdl2java fails to send the credentials in version 1.4.1 > while version 1.3 works fine. > Using version 1.4.1: > > wsdl2java -uri http://ssmith:password@myapp.example.com:8080/webservices/mywsdl.wsdl -s -uw -u > you will get HTTP error 401 as shown below, while the same command works fine when using version 1.3. > ------ ---- --- --- --- --- --- --- > Retrieving document at 'http://ssmith:password@myapp.example.com:8080/company-webservices/mywsdl.wsdl'. > Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException > : Error parsing WSDL > at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerat > ionEngine.java:156) > at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) > at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) > Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=OTHER_ERROR: Unabl > e to resolve imported document at 'http://ssmith:password@myapp.example.com:8 > 080/webservices/mywsdl.wsdl'.: java.io.IOException: Server retu > rned HTTP response code: 401 for URL: http://ssmith:password@sdk.eng.e-dialog.co > m:8080/webservices/mywsdl.wsdl > at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) > at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) > at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile( > CodeGenerationEngine.java:288) > at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerat > ionEngine.java:111) > ... 2 more > Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: > http://ssmith:password@myapp.example.com:8080/webservices/mailingCru > dWsdl.wsdl > at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon > nection.java:1241) > at java.net.URL.openStream(URL.java:1009) > at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(Unknown Source) > > ... 6 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org For additional commands, e-mail: java-dev-help@axis.apache.org