I'm glad to hear you are over this hump and ready for the next one ;-)

There is quite a lot to get your arms around with SOAP.  However, there
are a few things you can keep in mind.  One is that the data that each
SOAP message obeys rules defined in just a few specifications, namely
SOAP, WSDL, XML and XML Schema.  These specs are independent of
platforms, programming languages, etc.  Another thing to remember is
that much of each SOAP implementation (e.g. .NET, Apache SOAP) is code
to map SOAP messages to some platform or programming language model,
such as mapping XML Schema or WSDL types to and from classes, and
mapping SOAP messages to method calls.

Scott Nichol

----- Original Message -----
From: "Siddhartha Mehta" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, December 17, 2002 10:44 PM
Subject: Re: Using DateTime object


>
> The reason I thought I was using a correct pattern was because I
checked the format of DateTime object in C# and build the same using
SimpleDateFormat in Java. Well, that wasn't the right way of doing. I
used according to the specifications in the link you provided and YES
its working. I am as good as a new comer to SOAP and XML world and
honestly, I didn't knew that the format had to be according to the one
at w3.org. This is something I have learnt from this conversation with
you and will be in my head always I work on SOAP and XML. And when I
looked at dateTime, I assumed it the same as DateTime in C# (the only
difference being lower case d).
> THANKS A LOTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT! for your help.
>  Scott Nichol <[EMAIL PROTECTED]> wrote:What makes you think
the pattern is exactly what C# is expecting? The
> WSDL snippet you posted shows the data type is supposed to be
> xsd:dateTime. The format you show is "12/17/2002 4:39:40 PM", which is
> not a valid xsd:dateTime. See
> http://www.w3.org/TR/xmlschema-2/#dateTime for documentation of the
XML
> Schema dateTime type.
>
> Someplace within JAXP is the ability to serialize a Java Date into
XSD's
> dateTime format, I'm sure.
>
> Scott Nichol
>
> ----- Original Message -----
> From: "Siddhartha Mehta"
> To:
> Sent: Tuesday, December 17, 2002 8:38 PM
> Subject: Re: Using DateTime object
>
>
> >
> > I'd also like to add that I am using Java's Date object. In fact I
am
> using SimpleDateFormat with the pattern exactly similar to what C# is
> expecting. Also the error message indicates the error for Modified
time
> and that is after Created time. So just wondering if it accepts the
> Created time format.
> > Thanks!
> > Scott Nichol wrote:OK, a few things.
> >
> > 1. This list is just for Apache SOAP.
> >
> > 2. You still have not given the WSDL. It's what you'll get back if
you
> > point your browser to your service with a query string of ?wsdl,
e.g.
> a
> > URL like http://storagepoint.net/soap/service.asmx?wsdl.
> >
> > 3. If Microsoft maps a .NET DateTime to xsd:dateTime, I would try a
> Java
> > java.util.Date, which I would guess JAXP would map to xsd:dateTime.
In
> > any case, since the parameters are using literal style, you should
not
> > be specifying any xsi:type attribute: just get rid of that code.
> >
> > Scott Nichol
> >
> > ----- Original Message -----
> > From: "Siddhartha Mehta"
> > To:
> > Sent: Tuesday, December 17, 2002 8:07 PM
> > Subject: Re: Using DateTime object
> >
> >
> > >
> > > Oh.. I pasted the wrong code. Here is my function in C# I am
trying
> to
> > access:
> > >
> > > [WebMethod(Description = "Start uploading a file.")]
> > >
> > > public bool UploadStart(string SessionKey,
> > >
> > > long FolderId,
> > >
> > > string FileName,
> > >
> > > sbyte bUseCompression,
> > >
> > > long UncompressedSize,
> > >
> > > System.DateTime Created,
> > >
> > > System.DateTime Modified,
> > >
> > > System.DateTime Accessed,
> > >
> > > ref string StreamToken)
> > >
> > >
> > > Next, I am not using APACHE. I am using JAXP (sun's Java XML
Pack).
> > The code that generates the request is:
> > >
> > > SOAPMessage message = GetSOAPMessage();
> > > MimeHeaders headers = GetMimeHeaders(message);
> > > SOAPPart soapPart = GetSOAPPart(message);
> > > SOAPEnvelope soapEnvelope = GetSOAPEnvelope(soapPart);
> > > SOAPBody soapBody = GetSOAPBody(soapEnvelope);
> > >
> > > headers.setHeader(Definition.SOAP_ACTION,
> > Definition.URL_UPLOAD_START);
> > > Name bodyName =
> > soapEnvelope.createName(Definition.FUNCTION_UPLOAD_START, "",
> > "http://storagepoint.net/soap/";);
> > > SOAPElement soapElement = soapBody.addBodyElement(bodyName);
> > >
> >
>
soapElement.addChildElement(soapEnvelope.createName(Definition.SESSION_K
> > EY)).addTextNode(sessionKey);
> > >
> >
>
soapElement.addChildElement(soapEnvelope.createName(Definition.FOLDER_ID
> > )).addTextNode(strFolderId);
> > >
> >
>
soapElement.addChildElement(soapEnvelope.createName(Definition.FILE_NAME
> > )).addTextNode(fileName_);
> > >
> >
>
soapElement.addChildElement(soapEnvelope.createName(Definition.USE_COMPR
> > ESSION)).addTextNode("0");
> > >
> >
>
soapElement.addChildElement(soapEnvelope.createName(Definition.SIZE)).ad
> > dTextNode(strSize);
> > >
> > > SOAPElement soapElementCreated =
> > soapElement.addChildElement(Definition.CREATED);
> > > soapElement.addNamespaceDeclaration("A",
> > "http://www.w3.org/2001/XMLSchema-instance";);
> > > Name xsiType = soapEnvelope.createName("type", "A",
> > "http://www.w3.org/2001/XMLSchema-instance";);
> > > soapElementCreated.addAttribute(xsiType, "DateTime");
> > > soapElementCreated.addTextNode(strDate);
> > >
> > > SOAPElement soapElementModified =
> > soapElement.addChildElement(Definition.MODIFIED);
> > > soapElement.addNamespaceDeclaration("B",
> > "http://www.w3.org/2001/XMLSchema-instance";);
> > > Name xsiType1 = soapEnvelope.createName("type1", "B",
> > "http://www.w3.org/2001/XMLSchema-instance";);
> > > soapElementModified.addAttribute(xsiType1, "DateTime");
> > > soapElementModified.addTextNode(strDate);
> > >
> > > SOAPElement soapElementAccessed =
> > soapElement.addChildElement(Definition.ACCESSED);
> > > soapElement.addNamespaceDeclaration("C",
> > "http://www.w3.org/2001/XMLSchema-instance";);
> > > Name xsiType2 = soapEnvelope.createName("type2", "C",
> > "http://www.w3.org/2001/XMLSchema-instance";);
> > > soapElementAccessed.addAttribute(xsiType2, "DateTime");
> > > soapElementAccessed.addTextNode(strDate);
> > >
> > > Scott Nichol wrote:Actually, the code
> > you included looks more like a client proxy than a
> > > service. Also, what code generates the request that you show? I
> don't
> > > see how Apache SOAP would generate that message.
> > >
> > > Scott Nichol
> > >
> > > ----- Original Message -----
> > > From: "Scott Nichol"
> > > To:
> > > Sent: Tuesday, December 17, 2002 7:59 PM
> > > Subject: Re: Using DateTime object
> > >
> > >
> > > > Honestly, the WSDL is what I would need. I don't have time to
> create
> > > a
> > > > .NET service based on your code and look at the WSDL myself.
> > > >
> > > > Scott Nichol
> > > >
> > > > ----- Original Message -----
> > > > From: "Siddhartha Mehta"
> > > > To:
> > > > Sent: Tuesday, December 17, 2002 7:43 PM
> > > > Subject: Re: Using DateTime object
> > > >
> > > >
> > > > >
> > > > > Here is my C# webservice:
> > > > >
> > > > >
> > > >
> > >
> >
>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://stora
> > > > gepoint.net/soap/UploadStart",
> > > > RequestNamespace="http://storagepoint.net/soap/";,
> > > > ResponseNamespace="http://storagepoint.net/soap/";,
> > > > Use=System.Web.Services.Description.SoapBindingUse.Literal,
> > > >
> > >
> >
>
ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)
> > > > ]
> > > > >
> > > > > public bool UploadStart(string SessionKey, long FolderId,
string
> > > > FileName, System.SByte bUseCompression, long UncompressedSize,
> > > > System.DateTime Created, System.DateTime Modified,
System.DateTime
> > > > Accessed, ref string StreamToken) {
> > > > >
> > > > > object[] results = this.Invoke("UploadStart", new object[] {
> > > > >
> > > > > SessionKey,
> > > > >
> > > > > FolderId,
> > > > >
> > > > > FileName,
> > > > >
> > > > > bUseCompression,
> > > > >
> > > > > UncompressedSize,
> > > > >
> > > > > Created,
> > > > >
> > > > > Modified,
> > > > >
> > > > > Accessed,
> > > > >
> > > > > StreamToken});
> > > > >
> > > > > StreamToken = ((string)(results[1]));
> > > > >
> > > > > return ((bool)(results[0]));
> > > > >
> > > > > }
> > > > >
> > > > >
> > > > > And the SOAP message that is sent is:
> > > > >
> > > > >
> > > > >
> > > > > >
> > > xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/";>> der/>
> > > > >
> > > > > > xmlns:A="http://www.w3.org/2001/XMLSchema-instance";
> > > > xmlns:B="http://www.w3.org/2001/XMLSchema-instance";
> > > > xmlns:C="http://www.w3.org/2001/XMLSchema-instance";>
> > > > >
> > > > > 5617F6B2-AEAB-45CF-80C2-ED0379109DD9
> > > > >
> > > > > 8
> > > > >
> > > > > run.cmd
> > > > >
> > > > > 0
> > > > >
> > > > > 695
> > > > >
> > > > > 12/17/2002 4:39:40 PM
> > > > >
> > > > > 12/17/2002 4:39:40 PM
> > > > >
> > > > > 12/17/2002 4:39:40 PM
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > And the error I get is:
> > > > >
> > > > >
> > > > > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
> > > > >
> > > > >
> > > > > soap:Client
> > > > > Server was unable to read request. --> There
> > > is
> > > > an error i
> > > > > n XML document (2, 565). --> String was not recognized as a
> valid
> > > > DateTime.> > faultstring>
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > The strange thing here is, the error message says that the
error
> > is
> > > at
> > > > column 565 which is surprisingly time. Does this mean that
> > > > the time is in correct format?
> > > > >
> > > > > Thanks!!
> > > > >
> > > > > Scott Nichol wrote:Can you post the
> > > > WSDL for the C# web service?
> > > > >
> > > > > Scott Nichol
> > > > >
> > > > > ----- Original Message -----
> > > > > From: "Siddhartha Mehta"
> > > > > To:
> > > > > Sent: Tuesday, December 17, 2002 6:55 PM
> > > > > Subject: Using DateTime object
> > > > >
> > > > >
> > > > > >
> > > > > > I am using C# webservice and a Java client. One of the
> functions
> > > in
> > > > my
> > > > > webservice expects a DateTime (C# object). How would I send a
> > > datetime
> > > > > object from my Java client code? Can anyone help me.
> > > > > >
> > > > > > Thanks,
> > > > > >
> > > > > > Siddhartha
> > > > > >
> > > > > >
> > > > > >
> > > > > > ---------------------------------
> > > > > > Do you Yahoo!?
> > > > > > Yahoo! Mail Plus - Powerful. Affordable. Sign up now
> > > > >
> > > > >
> > > > > --
> > > > > To unsubscribe, e-mail:
> > > > > For additional commands, e-mail:
> > > > >
> > > > >
> > > > >
> > > > > ---------------------------------
> > > > > Do you Yahoo!?
> > > > > Yahoo! Mail Plus - Powerful. Affordable. Sign up now
> > > >
> > > >
> > > > --
> > > > To unsubscribe, e-mail:
> > >
> > > > For additional commands, e-mail:
> > >
> > > >
> > > >
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> > > For additional commands, e-mail:
> > >
> > >
> > >
> > > ---------------------------------
> > > Do you Yahoo!?
> > > Yahoo! Mail Plus - Powerful. Affordable. Sign up now
> >
> >
> > --
> > To unsubscribe, e-mail:
> > For additional commands, e-mail:
> >
> >
> >
> > ---------------------------------
> > Do you Yahoo!?
> > Yahoo! Mail Plus - Powerful. Affordable. Sign up now
>
>
> --
> To unsubscribe, e-mail:
> For additional commands, e-mail:
>
>
>
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to