[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HTTP 401 error connecting and 401.2



   Robin,
   The problem is in procedure POSX_ServiceSoap_Port_login(). Procedure
   http_getAuth() of HTTP API v1.25beta2 does not return any information
   about NTLM authentication. All it returns are indicators for 'basic'
   and 'digest' authentication, but not for NTLM authentication.
   Therefore procedure POSX_ServiceSoap_Port_login() must guess whether or
   not NTLM authentication is available. It does it like this:
    select;
    when (digest);
       authType = HTTP_AUTH_MD5_DIGEST;
       authErr = http_setAuth(HTTP_AUTH_MD5_DIGEST
                              : userid: password);
    when (basic);
       authType = HTTP_AUTH_BASIC;
       authErr = http_setAuth(HTTP_AUTH_BASIC
                              : userid: password);
    other;
       // WSDL_AUTH_NTLM must match the value of HTTP_AUTH_NTLM!
       authType = WSDL_AUTH_NTLM;
       authErr = http_setAuth(WSDL_AUTH_NTLM
                              : userid: password);
    endsl;
   Because the server also offers an option for 'digest' authentication,
   POSX_ServiceSoap_Port_login() tries to use it because 'digest' is more
   secure than 'basic'. Actually the sequence of the 'select' statement
   should be 'NTLM', 'digest', 'basic' but that is not possible due to the
   lack of parameter 'ntlm' of getAuth().
   I do not know why 'digest' authentication does not work. Maybe that
   Scott can answer that question.
   I suggest to remove the 'select' statement from
   POSX_ServiceSoap_Port_login() and call http_setAuth() for
   WSDL_AUTH_NTLM immediately.
   Regards,
   Thomas.
   tpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx schrieb am 11.07.2014 00:10:24:
   > Von: Robin.Kresin@xxxxxxx
   > An: ftpapi@xxxxxxxxxxxxxxxxxxxxxx,
   > Kopie: Joe.Oconnor@xxxxxxx, Doug.Crawshaw@xxxxxxx
   > Datum: 11.07.2014 03:34
   > Betreff: HTTP 401 error connecting and 401.2
   > Gesendet von: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   >
   > Our provider said everything is fine on their end.  We are trying to
   > resolve this so we can get another new set of errors to ask you
   again. :)
   >
   > We are using Tom's WSDL2RPG.   Below is the program and the http
   debug
   > log.  Any help would be appreciated.  Thanks again.
   >
   >
   >
   >
   >
   >
   > HTTPAPI Ver 1.25beta2 released 2012-03-06
   > NTLM Ver 1.3.1 released 2014-04-03
   > OS/400 Ver V5R4M0
   >
   > New iconv() objects set, PostRem=819. PostLoc=0. ProtRem=819.
   ProtLoc=0
   >
   > WSDL2RPG Ver 1.15.9.a released 2013-09-27 (V5R4M0)
   >
   > ** 2014-07-10-16.34.43.278000: Entering
   POSX_ServiceSoap_EnviaArchivo(),
   > compiled for V5R4M0
   > New iconv() objects set, PostRem=1208. PostLoc=0. ProtRem=819.
   ProtLoc=0
   > ** 2014-07-10-16.34.43.542000: Sending request to server
   > http_persist_open(): entered
   > http_long_ParseURL(): entered
   > DNS resolver retrans: 2
   > DNS resolver retry  : 2
   > DNS resolver options: x'00000136'
   > DNS default domain: tvh.local
   > DNS server found: 10.1.9.200
   > DNS server found: 10.7.9.200
   > DNS server found: 8.8.8.8
   > http_persist_post(): entered
   > http_persist_req(POST) entered.
   > http_long_ParseURL(): entered
   > http_long_ParseURL(): entered
   > do_oper(POST): entered
   > There are 0 cookies in the cache
   > POST /biossx/POSX_Service.asmx HTTP/1.1
   > Host: [1]www.demo.bioss-asp.com
   > User-Agent: http-api/1.24
   > Content-Length: 920
   > Content-Type: text/xml
   > SOAPAction: "[2]http://tempuri.org/EnviaArchivo";
   >
   >
   > sendraw(): entered
   > <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
   xmlns:soapenv="
   > [3]http://schemas.xmlsoap.org/soap/envelope/";
   xmlns:tns="[4]http://tempuri.org/
   > "><soapenv:Body><tns:EnviaArchivo><tns:userName>uuuuuuu</
   > tns:userName><tns:password>ppppppp</
   > tns:password><tns:dominio>Intranetslab.com</
   > tns:dominio><tns:tipoarchivo>SOLCFD</
   > tns:tipoarchivo><tns:origen>TVHMEX</tns:origen><tns:destino>TVHMEX</
   > tns:destino><tns:ID>1162180</tns:ID><tns:esarchvio>1</
   > tns:esarchvio><tns:namearchivo>1162180</
   >
   tns:namearchivo><tns:contenidobyte>2eem84bG1dWGxMWn1ZHJp9bEwvjU56bx1Oen
   wobEyabU49il1MSDpdTE0fjU48Xy1JHF9NTIp/
   > Dp59XwycfZpcnH9aWEw8KpgceTpobE5PHU56amhsTG+NORwabUxML41OPp
   >
   +NSVpvHUkdSo1JHBptTExvjikuXj1OPFptbjyac=</tns:contenidobyte><tns:conten
   ido>
   >
   </tns:contenido></tns:EnviaArchivo></soapenv:Body></soapenv:Envelope>
   > recvresp(): entered
   > HTTP/1.1 401 Unauthorized
   > Content-Length: 1656
   > Content-Type: text/html
   > Server: Microsoft-IIS/6.0
   > WWW-Authenticate: Negotiate
   > WWW-Authenticate: NTLM
   > WWW-Authenticate: Digest
   > qop="auth",algorithm=MD5-
   >
   sess,nonce="7057527f869ccf01920f2bf5cd9eb9f1b86f0bfb772889e7af9e18a7b88
   362c2ad41a409bb1f6c45",charset=utf-8,realm="intranetslab.com"
   > X-Powered-By: ASP.NET
   > MicrosoftOfficeWebServer: 5.0_Pub
   > Date: Thu, 10 Jul 2014 21:32:49 GMT
   >
   >
   > SetError() #13: HTTP/1.1 401 Unauthorized
   > recvresp(): end with 401
   > recvdoc parms: identity 1656
   > interpret_auth(): entered
   > interpret_auth(): entered
   > interpret_auth(): entered
   > SetError() #36: This page requires a user-id & password
   > AuthPlugin_mustReceiceAuthErrorPage(): entered
   > recvdoc(): entered
   > SetError() #0:
   > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
   > [5]http://www.w3.org/TR/html4/strict.dtd";>
   > <HTML><HEAD><TITLE>You are not authorized to view this page</TITLE>
   > <META HTTP-EQUIV="Content-Type" Content="text/html;
   charset=Windows-1252">
   > <STYLE type="text/css">
   >   BODY { font: 8pt/12pt verdana }
   >   H1 { font: 13pt/15pt verdana }
   >   H2 { font: 8pt/12pt verdana }
   >   A:link { color: red }
   >   A:visited { color: maroon }
   > </STYLE>
   > </HEAD><BODY><TABLE width=500 border=0 cellspacing=10><TR><TD>
   >
   > <h1>You are not authorized to view this page</h1>
   > You do not have permission to view this directory or page using the
   > credentials that you supplied because your Web browser is sending a
   > WWW-Authenticate header field that the Web server is not configured
   to
   > accept.
   > <hr>
   > <p>Please try the following:</p>
   > <ul>
   > <li>Contact the Web site administrator if you believe you should be
   able
   > to view this directory or page.</li>
   > <li>Click the <a href="[6]javascript:location.reload()">Refresh</a>
   button to
   > try again with different credentials.</li>
   > </ul>
   > <h2>HTTP Error 401.2 - Unauthorized: Access is denied due to server
   > configuration.<br>Internet Information Services (IIS)</h2>
   > <hr>
   > <p>Technical Information (for support personnel)</p>
   > <ul>
   > <li>Go to <a
   href="[7]http://go.microsoft.com/fwlink/?linkid=8180";>Microsoft
   > Product Support Services</a> and perform a title search for the words
   > <b>HTTP</b> and <b>401</b>.</li>
   > <li>Open <b>IIS Help</b>, which is accessible in IIS Manager
   (inetmgr),
   >  and search for topics titled <b>About Security</b>,
   > <b>Authentication</b>, and <b>About Custom Error Messages</b>.</li>
   > </ul>
   >
   > </TD></TR></TABLE></BODY></HTML>
   >
   > SetError() #36: This page requires a user-id & password
   > http_close(): entered
   > HTTPAPI Ver 1.25beta2 released 2012-03-06
   > NTLM Ver 1.3.1 released 2014-04-03
   > OS/400 Ver V5R4M0
   >
   > ** 2014-07-10-16.34.43.943000: Requesting user name and password
   > http_getauth(): entered
   > http_setauth(): entered
   > ** 2014-07-10-16.34.43.944000: Sending request to server
   > http_persist_open(): entered
   > http_long_ParseURL(): entered
   > DNS resolver retrans: 2
   > DNS resolver retry  : 2
   > DNS resolver options: x'00000136'
   > DNS default domain: tvh.local
   > DNS server found: 10.1.9.200
   > DNS server found: 10.7.9.200
   > DNS server found: 8.8.8.8
   > http_persist_post(): entered
   > http_persist_req(POST) entered.
   > http_long_ParseURL(): entered
   > http_long_ParseURL(): entered
   > do_oper(POST): entered
   > mkdigest(): entered
   > There are 0 cookies in the cache
   > POST /biossx/POSX_Service.asmx HTTP/1.1
   > Host: [8]www.demo.bioss-asp.com
   > User-Agent: http-api/1.24
   > Content-Length: 920
   > Authorization: Digest username="uuuuuuu", realm="=",
   >
   nonce="7057527f869ccf01920f2bf5cd9eb9f1b86f0bfb772889e7af9e18a7b88362c2
   ad41a409bb1f6c45",
   > uri="/biossx/POSX_Service.asmx",
   > response="b0391c739acb2dddb600d749222e3fcb", algorithm=MD5,
   nc=00000001,
   > cnonce="7248e2a3711545e8", qop="auth"
   > Content-Type: text/xml
   > SOAPAction: "[9]http://tempuri.org/EnviaArchivo";
   >
   >
   > sendraw(): entered
   > <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
   xmlns:soapenv="
   > [10]http://schemas.xmlsoap.org/soap/envelope/";
   xmlns:tns="[11]http://tempuri.org/
   > "><soapenv:Body><tns:EnviaArchivo><tns:userName>uuuuuuu</
   > tns:userName><tns:password>ppppppp</
   > tns:password><tns:dominio>Intranetslab.com</
   > tns:dominio><tns:tipoarchivo>SOLCFD</
   > tns:tipoarchivo><tns:origen>TVHMEX</tns:origen><tns:destino>TVHMEX</
   > tns:destino><tns:ID>1162180</tns:ID><tns:esarchvio>1</
   > tns:esarchvio><tns:namearchivo>1162180</
   >
   tns:namearchivo><tns:contenidobyte>2eem84bG1dWGxMWn1ZHJp9bEwvjU56bx1Oen
   wobEyabU49il1MSDpdTE0fjU48Xy1JHF9NTIp/
   > Dp59XwycfZpcnH9aWEw8KpgceTpobE5PHU56amhsTG+NORwabUxML41OPp
   >
   +NSVpvHUkdSo1JHBptTExvjikuXj1OPFptbjyac=</tns:contenidobyte><tns:conten
   ido>
   >
   </tns:contenido></tns:EnviaArchivo></soapenv:Body></soapenv:Envelope>
   > recvresp(): entered
   > HTTP/1.1 401 Unauthorized
   > Content-Length: 1539
   > Content-Type: text/html
   > Server: Microsoft-IIS/6.0
   > WWW-Authenticate: Digest
   > qop="auth",algorithm=MD5-
   >
   sess,nonce="8bf18d7f869ccf01e8469dc10587bffd82c5a274ef209b364abde768b4e
   cb512ae89763fa1842a1f",charset=utf-8,realm="intranetslab.com"
   > X-Powered-By: ASP.NET
   > MicrosoftOfficeWebServer: 5.0_Pub
   > Date: Thu, 10 Jul 2014 21:32:49 GMT
   >
   >
   > SetError() #13: HTTP/1.1 401 Unauthorized
   > recvresp(): end with 401
   > recvdoc parms: identity 1539
   > interpret_auth(): entered
   > SetError() #36: This page requires a user-id & password
   > AuthPlugin_mustReceiceAuthErrorPage(): entered
   > http_close(): entered
   > HTTPAPI Ver 1.25beta2 released 2012-03-06
   > NTLM Ver 1.3.1 released 2014-04-03
   > OS/400 Ver V5R4M0
   >
   > ** 2014-07-10-16.34.44.331000: Requesting user name and password
   > http_getauth(): entered
   > http_setauth(): entered
   > ** 2014-07-10-16.34.44.331000: Sending request to server
   > http_persist_open(): entered
   > http_long_ParseURL(): entered
   > DNS resolver retrans: 2
   > DNS resolver retry  : 2
   > DNS resolver options: x'00000136'
   > DNS default domain: tvh.local
   > DNS server found: 10.1.9.200
   > DNS server found: 10.7.9.200
   > DNS server found: 8.8.8.8
   > http_persist_post(): entered
   > http_persist_req(POST) entered.
   > http_long_ParseURL(): entered
   > http_long_ParseURL(): entered
   > do_oper(POST): entered
   > mkdigest(): entered
   > There are 0 cookies in the cache
   > POST /biossx/POSX_Service.asmx HTTP/1.1
   > Host: [12]www.demo.bioss-asp.com
   > User-Agent: http-api/1.24
   > Content-Length: 920
   > Authorization: Digest username="uuuuuuu", realm="intranetslab.com",
   >
   nonce="8bf18d7f869ccf01e8469dc10587bffd82c5a274ef209b364abde768b4ecb512
   ae89763fa1842a1f",
   > uri="/biossx/POSX_Service.asmx",
   > response="aa55e742a763388e674eb8043c39ed8e", algorithm=MD5,
   nc=00000001,
   > cnonce="7248e2a3711545e8", qop="auth"
   > Content-Type: text/xml
   > SOAPAction: "[13]http://tempuri.org/EnviaArchivo";
   >
   >
   > sendraw(): entered
   > <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
   xmlns:soapenv="
   > [14]http://schemas.xmlsoap.org/soap/envelope/";
   xmlns:tns="[15]http://tempuri.org/
   > "><soapenv:Body><tns:EnviaArchivo><tns:userName>uuuuuuu</
   > tns:userName><tns:password>ppppppp</
   > tns:password><tns:dominio>Intranetslab.com</
   > tns:dominio><tns:tipoarchivo>SOLCFD</
   > tns:tipoarchivo><tns:origen>TVHMEX</tns:origen><tns:destino>TVHMEX</
   > tns:destino><tns:ID>1162180</tns:ID><tns:esarchvio>1</
   > tns:esarchvio><tns:namearchivo>1162180</
   >
   tns:namearchivo><tns:contenidobyte>2eem84bG1dWGxMWn1ZHJp9bEwvjU56bx1Oen
   wobEyabU49il1MSDpdTE0fjU48Xy1JHF9NTIp/
   > Dp59XwycfZpcnH9aWEw8KpgceTpobE5PHU56amhsTG+NORwabUxML41OPp
   >
   +NSVpvHUkdSo1JHBptTExvjikuXj1OPFptbjyac=</tns:contenidobyte><tns:conten
   ido>
   >
   </tns:contenido></tns:EnviaArchivo></soapenv:Body></soapenv:Envelope>
   > recvresp(): entered
   > HTTP/1.1 401 Unauthorized
   > Content-Length: 1539
   > Content-Type: text/html
   > Server: Microsoft-IIS/6.0
   > WWW-Authenticate: Digest
   > qop="auth",algorithm=MD5-
   >
   sess,nonce="0e79b67f869ccf0119ee21ca3abd8b549f7ca9cba7812dfbb4e59d20646
   02970e069d4ed38115661",charset=utf-8,realm="intranetslab.com"
   > X-Powered-By: ASP.NET
   > MicrosoftOfficeWebServer: 5.0_Pub
   > Date: Thu, 10 Jul 2014 21:32:49 GMT
   >
   >
   > SetError() #13: HTTP/1.1 401 Unauthorized
   > recvresp(): end with 401
   > recvdoc parms: identity 1539
   > interpret_auth(): entered
   > SetError() #36: This page requires a user-id & password
   > AuthPlugin_mustReceiceAuthErrorPage(): entered
   > http_close(): entered
   > HTTPAPI Ver 1.25beta2 released 2012-03-06
   > NTLM Ver 1.3.1 released 2014-04-03
   > OS/400 Ver V5R4M0
   >
   > ** 2014-07-10-16.34.44.602000: Requesting user name and password
   > http_getauth(): entered
   > http_setauth(): entered
   > ** 2014-07-10-16.34.44.602000: Sending request to server
   > http_persist_open(): entered
   > http_long_ParseURL(): entered
   > DNS resolver retrans: 2
   > DNS resolver retry  : 2
   > DNS resolver options: x'00000136'
   > DNS default domain: tvh.local
   > DNS server found: 10.1.9.200
   > DNS server found: 10.7.9.200
   > DNS server found: 8.8.8.8
   > http_persist_post(): entered
   > http_persist_req(POST) entered.
   > http_long_ParseURL(): entered
   > http_long_ParseURL(): entered
   > do_oper(POST): entered
   > mkdigest(): entered
   > There are 0 cookies in the cache
   > POST /biossx/POSX_Service.asmx HTTP/1.1
   > Host: [16]www.demo.bioss-asp.com
   > User-Agent: http-api/1.24
   > Content-Length: 920
   > Authorization: Digest username="pppppppp", realm="intranetslab.com",
   >
   nonce="0e79b67f869ccf0119ee21ca3abd8b549f7ca9cba7812dfbb4e59d2064602970
   e069d4ed38115661",
   > uri="/biossx/POSX_Service.asmx",
   > response="4300e6ead3e004644c85fa51ef4c8c66", algorithm=MD5,
   nc=00000001,
   > cnonce="7248e2a3711545e8", qop="auth"
   > Content-Type: text/xml
   > SOAPAction: "[17]http://tempuri.org/EnviaArchivo";
   >
   >
   > sendraw(): entered
   > <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
   xmlns:soapenv="
   > [18]http://schemas.xmlsoap.org/soap/envelope/";
   xmlns:tns="[19]http://tempuri.org/
   > "><soapenv:Body><tns:EnviaArchivo><tns:userName>uuuuuuu</
   > tns:userName><tns:password>ppppppp</
   > tns:password><tns:dominio>Intranetslab.com</
   > tns:dominio><tns:tipoarchivo>SOLCFD</
   > tns:tipoarchivo><tns:origen>TVHMEX</tns:origen><tns:destino>TVHMEX</
   > tns:destino><tns:ID>1162180</tns:ID><tns:esarchvio>1</
   > tns:esarchvio><tns:namearchivo>1162180</
   >
   tns:namearchivo><tns:contenidobyte>2eem84bG1dWGxMWn1ZHJp9bEwvjU56bx1Oen
   wobEyabU49il1MSDpdTE0fjU48Xy1JHF9NTIp/
   > Dp59XwycfZpcnH9aWEw8KpgceTpobE5PHU56amhsTG+NORwabUxML41OPp
   >
   +NSVpvHUkdSo1JHBptTExvjikuXj1OPFptbjyac=</tns:contenidobyte><tns:conten
   ido>
   >
   </tns:contenido></tns:EnviaArchivo></soapenv:Body></soapenv:Envelope>
   >
   > Robin Kresin
   > Sr. Programmer / Analyst
   > TVH® - TotalSource® Parts and Accessories
   > Phone: 913.829.1000 ext.3035 Direct: 913-768-3035
   > E-mail: robin.kresin@xxxxxxx
   > website: [20]www.tvh.com
   > The information in this e-mail and any attachments is confidential
   > and is intended solely for the attention and use of
   > ftpapi@xxxxxxxxxxxxxxxxxxxxxx.
   > If you are not the intended recipient, or person responsible for
   > delivering this information to the intended recipient, please notify
   > the sender immediately and destroy this e-mail and all copies of
   > this e-mail on any storage mechanism.
   > Unless you are the intended recipient or his/her representative you
   > are not authorized to, and must not, read, copy, distribute, use or
   > retain this message or any part of it.
   > [Anhang "SMOE0258.pdf" gelöscht von Thomas Raddatz/OBI/DE]
   >
   -----------------------------------------------------------------------
   > This is the FTPAPI mailing list.  To unsubscribe, please go to:
   > [21]http://www.scottklement.com/mailman/listinfo/ftpapi
   >
   -----------------------------------------------------------------------

   --
   IMPORTANT NOTICE:
   This email is confidential, may be legally privileged, and is for the
   intended recipient only. Access, disclosure, copying, distribution, or
   reliance on any of it by anyone else is prohibited and may be a
   criminal
   offence. Please delete if obtained in error and email confirmation to
   the sender.

References

   1. file://localhost/tmp/www.demo.bioss-asp.com
   2. http://tempuri.org/EnviaArchivo
   3. http://schemas.xmlsoap.org/soap/envelope/
   4. http://tempuri.org/
   5. http://www.w3.org/TR/html4/strict.dtd
   6. javascript:location.reload()
   7. http://go.microsoft.com/fwlink/?linkid=8180
   8. file://localhost/tmp/www.demo.bioss-asp.com
   9. http://tempuri.org/EnviaArchivo
  10. http://schemas.xmlsoap.org/soap/envelope/
  11. http://tempuri.org/
  12. file://localhost/tmp/www.demo.bioss-asp.com
  13. http://tempuri.org/EnviaArchivo
  14. http://schemas.xmlsoap.org/soap/envelope/
  15. http://tempuri.org/
  16. file://localhost/tmp/www.demo.bioss-asp.com
  17. http://tempuri.org/EnviaArchivo
  18. http://schemas.xmlsoap.org/soap/envelope/
  19. http://tempuri.org/
  20. file://localhost/tmp/www.tvh.com
  21. http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------