Ok, I've done some more testing and it appears that I'm not logging in at all. I just changed my password to something else that shouldn't work and I'm still getting the "Length Required" message. Here is some of my setup.

calling [my domain] but login is only available on this part:
http://[my domain]/DynamicsGPWebServices/

Is there somewhere I can look to determine what url is being called on things (login, soap call, etc.).

I'm beginning to wonder if this is part of my problem. Additionally when I look at the outgoing message there is no content-length field, whether or not chunking is allowed.

Thanks for any assistance with this.

-warner

On Nov 20, 2008, at 11:02 AM, Warner Onstine wrote:

So, finally getting back to this and here is the code I have:
//Set the jcifs properties
       jcifs.Config.setProperty("jcifs.util.loglevel", "3");
jcifs.Config.setProperty("jcifs.smb.client.domain", "[my domain]"); //jcifs.Config.setProperty("jcifs.netbios.wins", "xxx.xxx.xxx.xxx"); jcifs.Config.setProperty("jcifs.smb.client.soTimeout", "300000"); //5 minutes jcifs.Config.setProperty("jcifs.netbios.cachePolicy", "1200"); //20 minutes

jcifs.Config.setProperty("jcifs.smb.client.username", "[user]"); jcifs.Config.setProperty("jcifs.smb.client.password", "[password]");

       //Register the jcifs URL handler to enable NTLM
       jcifs.Config.registerSmbURLHandler();


       URL wsdlURL = DynamicsX0020GP.WSDL_LOCATION;
       if (args.length > 0) {
           File wsdlFile = new File(args[0]);
           try {
               if (wsdlFile.exists()) {
                   wsdlURL = wsdlFile.toURI().toURL();
               } else {
                   wsdlURL = new URL(args[0]);
               }
           } catch (MalformedURLException e) {
               e.printStackTrace();
           }
       }

DynamicsX0020GP ss = new DynamicsX0020GP(wsdlURL, SERVICE_NAME);
       DynamicsX0020GPSoap port = ss.getDynamicsX0020GPSoap();


       Client client = ClientProxy.getClient(port);
       HTTPConduit http = (HTTPConduit) client.getConduit();
       HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
       httpClientPolicy.setConnectionTimeout(36000);
       httpClientPolicy.setAllowChunking(false);
       http.setClient(httpClientPolicy);

I was setting the chunking in the configuration but decided to try it directly here to make sure. When I look at the logs there is no content-length being passed.

Encoding: UTF-8
Headers: {SOAPAction=["http://schemas.microsoft.com/dynamics/gp/2006/01/CreateSalesInvoice "], Accept=[*]}
Messages:
Payload: <Soap Payload>

Anyone have any clues to this? Looks like I'm still getting a 411 from IIS.

-warner

On Nov 18, 2008, at 8:09 AM, Warner Onstine wrote:

Yep, it's turned off. At least I'm fairly certain it is as I have it defined in the cxf.xml file and login failed until I did that.

-warner

On Nov 17, 2008, at 6:48 PM, Daniel Kulp wrote:


You probably need to turn off chunking. Older versions of MS stuff doesn't
properly support it.

See:
http://cwiki.apache.org/CXF20DOC/client-http-transport-including-ssl-support.html
and look for AllowChunking settings.

Dan


On Monday 17 November 2008 2:49:42 pm Warner Onstine wrote:
Ok, so we are trying to connect to a Microsoft Web Service called
Dynamics GP. It currently is sitting behind NTLM authentication, which
I think I have working now using JCIFS. I am now getting this error
message when attempting to send a message to the web service.

INFO: Outbound Message
---------------------------
Encoding: UTF-8
Headers: {Connection=[Keep-Alive],
SOAPAction=["http://schemas.microsoft.com/dynamics/gp/2006/01/CreateSalesIn
voice "], Accept=[*]}
Messages:
Payload: <soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
"><soap:Body><ns2:CreateSalesInvoice
xmlns="http://schemas.microsoft.com/dynamics/2006/01 "
xmlns:ns2="http://schemas.microsoft.com/dynamics/gp/2006/01";
xmlns:ns3="http://schemas.microsoft.com/dynamics/security/
2006/01"><ns2:salesInvoice><ns2:Type
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:Date
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:MasterNumber
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:ExchangeRate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:ExchangeDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:RequestedShipDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:FreightTaxBasis
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:MiscellaneousTaxBasis
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:TransactionState
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:CreatedBy>GP Dynamics Web Service Test</
ns2:CreatedBy><ns2:CreatedDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:ModifiedDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:CommissionBasedOn
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:ActualShipDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:FulfillDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:QuoteDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:IsIntrastatDocument
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:IsVoided
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:ShipCompleteOnly
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:IntegrationSource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:InvoiceDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:BackorderDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:ReturnDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:GeneralLedgerPostingDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:PostedDate
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:IsDirectDebit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/><ns2:WorkflowPriority
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/></ns2:salesInvoice><Context
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
xsi:nil="true"/></ns2:CreateSalesInvoice></soap:Body></ soap:Envelope>
--------------------------------------
Nov 17, 2008 11:34:25 AM
org.apache.cxf.interceptor.LoggingInInterceptor logging
INFO: Inbound Message
----------------------------
Encoding: UTF-8
Headers: {Content-Length=[24], connection=[close], Date=[Mon, 17 Nov
2008 18:34:24 GMT], content-type=[text/html]}
Messages:
Message:

Payload: <h1>Length Required</h1>

So, for some reason I'm not getting an XML response back, but a
partial HTML response. Is there some config option in CXF that I'm
missing?

Thanks in advance!

-warner



--
Daniel Kulp
[EMAIL PROTECTED]
http://dankulp.com/blog



Reply via email to