Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Dynamic page updates using XMLHTTP

Reply
Thread Tools

Dynamic page updates using XMLHTTP

 
 
=?Utf-8?B?TGFiaGVzaCBTaHJpbWFsaSAtIEJhbmdhbG9yZQ==?=
Guest
Posts: n/a
 
      08-07-2007

I am using vbscript for calling my webservice. From vbscript I Post XML
file/argument to webservice. and i get response from webservice.
This is working perfectly when there is no argument. but does not work when
my webmethod(In Webserice) takes argument.
I repeat: When service give me response when webmethod without argument, but
another webmethod with argument does not work.
not sure what is wronge with my code. Code as below
VBSCRIPT :
' VBScript File
'************************************************'
Dim objHttp
dim objXmlDoc

MsgBox("Starting the Calling webservice")
WSController()
MsgBox("End Calling the webservice")


Public Function getDataFromWS(methodName, dataSetName)

Dim wsParamValue
Dim wsParamName
'// create the XML object
Set objXmlDoc = CreateObject("Msxml2.DOMDocument")
'Set objDictionary = CreateObject("Scripting.Dictionary")

If IsNull(objXmlDoc) Then
Msgbox("Unable to create DOM document!")
Else
'// create an XmlHttp instance
Set objHttp = CreateObject("Microsoft.XMLHTTP")

Dim objGetTransferResult
objGetTransferResult = "GetTransferResult"
Dim objDescription
objDescription = "Description"
Dim objTransferID
objTransferID = "TransferID"

'// Create the SOAP Envelope
strEnvelope = "<soap:Envelope
xsi=\http://www.w3.org/2001/XMLSchema-instance\" + "
xsd=\http://www.w3.org/2001/XMLSchema\" + "
soap=\http://schemas.xmlsoap.org/soap/envelope/\>" + " <soap:Body>" + " <" +
methodName + " xmlns=\http://marksandspencer.com\>" + " </" + methodName +
">" +" </soap:Body>" +"</soap:Envelope>"


MsgBox(strEnvelope)

'// Set up the post
objHTTP.onreadystatechange = getRef("LoadAndProcessDocument")
'objHttp.onreadystatechange = Call abc(objHttp,objXmlDoc)

Dim szUrl
szUrl = "http://localhost:1400/wsXMLHTTP/DynaProducts.asmx/" + methodName

If wsParamValue <> null Then
szUrl = szUrl + "?" + wsParamName + "=" + wsParamValue
End If

'// send the POST to the Web service
objHttp.open "POST", szUrl, true
objHttp.setRequestHeader "Content-Type",
"application/x-www-form-urlencoded"
objHttp.send strEnvelope
End If
End Function

Public function LoadAndProcessDocument()
' a readyState of 4 means we're ready to use the data returned by XMLHTTP
if objHttp.readystate = 4 then
dim szresponse
szresponse = objHttp.responsetext
objXmlDoc.loadxml(szresponse)
if objXmlDoc.parseerror.errorcode <> 0 then
dim xmlerr
Set xmlerr = objXmlDoc.parseerror
MsgBox("you have error " + xmlerr.reason)
Else
ProcesstheRequest()
'
End If
End If
End Function

Public Function WSController()
MsgBox("I am inside WSController Function")
Dim func
'func = getDataFromWS("GetCategories", "GetCategoriesDS")
func = getDataFromWS("GetTransferResult", "GetTransferResultDS")
'MsgBox("Please wait while data is retrieved...")
'Window.setTimeout func, 1
End Function

Public Function ProcesstheRequest()
'// get an XML data island with the category data
'MsgBox("I will show you Returned XML DOc" + objXmlDoc)

MsgBox(objXmlDoc.text)

'objNodeList = objXmlDoc.getElementsByTagName("Description")
'MsgBox("NodeList Size" + objNodeList.length)

' For i=0 to objNodeList.length
' Dim dataNodeList
' Dim textNode
' Dim valueNode
' dataNodeList = objNodeList(i).childNodes
' MsgBox(dataNodeList.item(0))
' MsgBox(dataNodeList.item(1))
' Next
End Function

'********************************
TWO WEBSERVICE METHODC#,ASP.NET)
[WebMethod]
public string GetTransferResult(string Description, string TransferID)
{
try
{

}
catch
{
// error handling ommitted for brevity
}
finally
{
}

return Description;
}

[WebMethod]
public string GetCategories()
{
return "LABHESHSHRIMALI";
}

How to run: Defind webservice method and run webservice.
give the path of webservice in vbscirpt file and execute the vbscript.

I have taken the reference from following URL (in javascript)

http://support.microsoft.com/kb/893659

Please let me know if you have any problem in understanding my problem.

--
Labhesh Shrimali - MCP
Mumbai-Bangalore - India
9833952909
 
Reply With Quote
 
 
 
 
Alexey Smirnov
Guest
Posts: n/a
 
      08-07-2007
On Aug 7, 9:30 am, Labhesh Shrimali - Bangalore
<(E-Mail Removed) m> wrote:
> I am using vbscript for calling my webservice. From vbscript I Post XML
> file/argument to webservice. and i get response from webservice.
> This is working perfectly when there is no argument. but does not work when
> my webmethod(In Webserice) takes argument.
> I repeat: When service give me response when webmethod without argument, but
> another webmethod with argument does not work.
> not sure what is wronge with my code. Code as below
> VBSCRIPT :
> ' VBScript File
> '************************************************'
> Dim objHttp
> dim objXmlDoc
>
> MsgBox("Starting the Calling webservice")
> WSController()
> MsgBox("End Calling the webservice")
>
> Public Function getDataFromWS(methodName, dataSetName)
>
> Dim wsParamValue
> Dim wsParamName
> '// create the XML object
> Set objXmlDoc = CreateObject("Msxml2.DOMDocument")
> 'Set objDictionary = CreateObject("Scripting.Dictionary")
>
> If IsNull(objXmlDoc) Then
> Msgbox("Unable to create DOM document!")
> Else
> '// create an XmlHttp instance
> Set objHttp = CreateObject("Microsoft.XMLHTTP")
>
> Dim objGetTransferResult
> objGetTransferResult = "GetTransferResult"
> Dim objDescription
> objDescription = "Description"
> Dim objTransferID
> objTransferID = "TransferID"
>
> '// Create the SOAP Envelope
> strEnvelope = "<soap:Envelope
> xsi=\http://www.w3.org/2001/XMLSchema-instance\" + "
> xsd=\http://www.w3.org/2001/XMLSchema\" + "
> soap=\http://schemas.xmlsoap.org/soap/envelope/\>" + " <soap:Body>" + " <" +
> methodName + " xmlns=\http://marksandspencer.com\>" + " </" + methodName +
> ">" +" </soap:Body>" +"</soap:Envelope>"
>
> MsgBox(strEnvelope)
>
> '// Set up the post
> objHTTP.onreadystatechange = getRef("LoadAndProcessDocument")
> 'objHttp.onreadystatechange = Call abc(objHttp,objXmlDoc)
>
> Dim szUrl
> szUrl = "http://localhost:1400/wsXMLHTTP/DynaProducts.asmx/" + methodName
>
> If wsParamValue <> null Then
> szUrl = szUrl + "?" + wsParamName + "=" + wsParamValue
> End If
>
> '// send the POST to the Web service
> objHttp.open "POST", szUrl, true
> objHttp.setRequestHeader "Content-Type",
> "application/x-www-form-urlencoded"
> objHttp.send strEnvelope
> End If
> End Function
>
> Public function LoadAndProcessDocument()
> ' a readyState of 4 means we're ready to use the data returned by XMLHTTP
> if objHttp.readystate = 4 then
> dim szresponse
> szresponse = objHttp.responsetext
> objXmlDoc.loadxml(szresponse)
> if objXmlDoc.parseerror.errorcode <> 0 then
> dim xmlerr
> Set xmlerr = objXmlDoc.parseerror
> MsgBox("you have error " + xmlerr.reason)
> Else
> ProcesstheRequest()
> '
> End If
> End If
> End Function
>
> Public Function WSController()
> MsgBox("I am inside WSController Function")
> Dim func
> 'func = getDataFromWS("GetCategories", "GetCategoriesDS")
> func = getDataFromWS("GetTransferResult", "GetTransferResultDS")
> 'MsgBox("Please wait while data is retrieved...")
> 'Window.setTimeout func, 1
> End Function
>
> Public Function ProcesstheRequest()
> '// get an XML data island with the category data
> 'MsgBox("I will show you Returned XML DOc" + objXmlDoc)
>
> MsgBox(objXmlDoc.text)
>
> 'objNodeList = objXmlDoc.getElementsByTagName("Description")
> 'MsgBox("NodeList Size" + objNodeList.length)
>
> ' For i=0 to objNodeList.length
> ' Dim dataNodeList
> ' Dim textNode
> ' Dim valueNode
> ' dataNodeList = objNodeList(i).childNodes
> ' MsgBox(dataNodeList.item(0))
> ' MsgBox(dataNodeList.item(1))
> ' Next
> End Function
>
> '********************************
> TWO WEBSERVICE METHODC#,ASP.NET)
> [WebMethod]
> public string GetTransferResult(string Description, string TransferID)
> {
> try
> {
>
> }
> catch
> {
> // error handling ommitted for brevity
> }
> finally
> {
> }
>
> return Description;
> }
>
> [WebMethod]
> public string GetCategories()
> {
> return "LABHESHSHRIMALI";
> }
>
> How to run: Defind webservice method and run webservice.
> give the path of webservice in vbscirpt file and execute the vbscript.
>
> I have taken the reference from following URL (in javascript)
>
> http://support.microsoft.com/kb/893659
>
> Please let me know if you have any problem in understanding my problem.
>
> --
> Labhesh Shrimali - MCP
> Mumbai-Bangalore - India
> 9833952909


So, you mean that this is not working?

Dim szUrl
szUrl = "http://localhost:1400/wsXMLHTTP/DynaProducts.asmx/" +
methodName

If wsParamValue <> null Then
szUrl = szUrl + "?" + wsParamName + "=" + wsParamValue
End If

I think you have to change IF..THEN to

If Not wsParamValue Is Nothing Then

and then debug if you have the right szUrl at the end

 
Reply With Quote
 
 
 
 
=?Utf-8?B?TGFiaGVzaCBTaHJpbWFsaSAtIEJhbmdhbG9yZQ==?=
Guest
Posts: n/a
 
      08-07-2007
Not Sure what is the problem, but i receive an error when i try to execute
webmethod which has argument[GetTransferResult],
but it work fine when i use webmethod which has no argument[GetCategories()].

Steps:
1. First I uncomment the code for GetGategories() Method in
WSController(),also change the strEnvelop string value for this method and it
works fine. (Note this method does not have argument]
2. Second I try to comment GetCategories() and uncomment GetTransferResult()
with the required SOAP xml. and this does not work work.not sure why.


--
Labhesh Shrimali - MCP
Bangalore - India
9886497756


"Alexey Smirnov" wrote:

> On Aug 7, 9:30 am, Labhesh Shrimali - Bangalore
> <(E-Mail Removed) m> wrote:
> > I am using vbscript for calling my webservice. From vbscript I Post XML
> > file/argument to webservice. and i get response from webservice.
> > This is working perfectly when there is no argument. but does not work when
> > my webmethod(In Webserice) takes argument.
> > I repeat: When service give me response when webmethod without argument, but
> > another webmethod with argument does not work.
> > not sure what is wronge with my code. Code as below
> > VBSCRIPT :
> > ' VBScript File
> > '************************************************'
> > Dim objHttp
> > dim objXmlDoc
> >
> > MsgBox("Starting the Calling webservice")
> > WSController()
> > MsgBox("End Calling the webservice")
> >
> > Public Function getDataFromWS(methodName, dataSetName)
> >
> > Dim wsParamValue
> > Dim wsParamName
> > '// create the XML object
> > Set objXmlDoc = CreateObject("Msxml2.DOMDocument")
> > 'Set objDictionary = CreateObject("Scripting.Dictionary")
> >
> > If IsNull(objXmlDoc) Then
> > Msgbox("Unable to create DOM document!")
> > Else
> > '// create an XmlHttp instance
> > Set objHttp = CreateObject("Microsoft.XMLHTTP")
> >
> > Dim objGetTransferResult
> > objGetTransferResult = "GetTransferResult"
> > Dim objDescription
> > objDescription = "Description"
> > Dim objTransferID
> > objTransferID = "TransferID"
> >
> > '// Create the SOAP Envelope
> > strEnvelope = "<soap:Envelope
> > xsi=\http://www.w3.org/2001/XMLSchema-instance\" + "
> > xsd=\http://www.w3.org/2001/XMLSchema\" + "
> > soap=\http://schemas.xmlsoap.org/soap/envelope/\>" + " <soap:Body>" + " <" +
> > methodName + " xmlns=\http://marksandspencer.com\>" + " </" + methodName +
> > ">" +" </soap:Body>" +"</soap:Envelope>"
> >
> > MsgBox(strEnvelope)
> >
> > '// Set up the post
> > objHTTP.onreadystatechange = getRef("LoadAndProcessDocument")
> > 'objHttp.onreadystatechange = Call abc(objHttp,objXmlDoc)
> >
> > Dim szUrl
> > szUrl = "http://localhost:1400/wsXMLHTTP/DynaProducts.asmx/" + methodName
> >
> > If wsParamValue <> null Then
> > szUrl = szUrl + "?" + wsParamName + "=" + wsParamValue
> > End If
> >
> > '// send the POST to the Web service
> > objHttp.open "POST", szUrl, true
> > objHttp.setRequestHeader "Content-Type",
> > "application/x-www-form-urlencoded"
> > objHttp.send strEnvelope
> > End If
> > End Function
> >
> > Public function LoadAndProcessDocument()
> > ' a readyState of 4 means we're ready to use the data returned by XMLHTTP
> > if objHttp.readystate = 4 then
> > dim szresponse
> > szresponse = objHttp.responsetext
> > objXmlDoc.loadxml(szresponse)
> > if objXmlDoc.parseerror.errorcode <> 0 then
> > dim xmlerr
> > Set xmlerr = objXmlDoc.parseerror
> > MsgBox("you have error " + xmlerr.reason)
> > Else
> > ProcesstheRequest()
> > '
> > End If
> > End If
> > End Function
> >
> > Public Function WSController()
> > MsgBox("I am inside WSController Function")
> > Dim func
> > 'func = getDataFromWS("GetCategories", "GetCategoriesDS")
> > func = getDataFromWS("GetTransferResult", "GetTransferResultDS")
> > 'MsgBox("Please wait while data is retrieved...")
> > 'Window.setTimeout func, 1
> > End Function
> >
> > Public Function ProcesstheRequest()
> > '// get an XML data island with the category data
> > 'MsgBox("I will show you Returned XML DOc" + objXmlDoc)
> >
> > MsgBox(objXmlDoc.text)
> >
> > 'objNodeList = objXmlDoc.getElementsByTagName("Description")
> > 'MsgBox("NodeList Size" + objNodeList.length)
> >
> > ' For i=0 to objNodeList.length
> > ' Dim dataNodeList
> > ' Dim textNode
> > ' Dim valueNode
> > ' dataNodeList = objNodeList(i).childNodes
> > ' MsgBox(dataNodeList.item(0))
> > ' MsgBox(dataNodeList.item(1))
> > ' Next
> > End Function
> >
> > '********************************
> > TWO WEBSERVICE METHODC#,ASP.NET)
> > [WebMethod]
> > public string GetTransferResult(string Description, string TransferID)
> > {
> > try
> > {
> >
> > }
> > catch
> > {
> > // error handling ommitted for brevity
> > }
> > finally
> > {
> > }
> >
> > return Description;
> > }
> >
> > [WebMethod]
> > public string GetCategories()
> > {
> > return "LABHESHSHRIMALI";
> > }
> >
> > How to run: Defind webservice method and run webservice.
> > give the path of webservice in vbscirpt file and execute the vbscript.
> >
> > I have taken the reference from following URL (in javascript)
> >
> > http://support.microsoft.com/kb/893659
> >
> > Please let me know if you have any problem in understanding my problem.
> >
> > --
> > Labhesh Shrimali - MCP
> > Mumbai-Bangalore - India
> > 9833952909

>
> So, you mean that this is not working?
>
> Dim szUrl
> szUrl = "http://localhost:1400/wsXMLHTTP/DynaProducts.asmx/" +
> methodName
>
> If wsParamValue <> null Then
> szUrl = szUrl + "?" + wsParamName + "=" + wsParamValue
> End If
>
> I think you have to change IF..THEN to
>
> If Not wsParamValue Is Nothing Then
>
> and then debug if you have the right szUrl at the end
>
>

 
Reply With Quote
 
=?Utf-8?B?TGFiaGVzaCBTaHJpbWFsaSAtIEJhbmdhbG9yZQ==?=
Guest
Posts: n/a
 
      08-08-2007
I explain again

I have an aspx site, in which I like to access a webservice (asmx
file) with vbscript. I think it like this:

set xmlHTTP = CreateObject("Msxml2.XMLHTTP")
set xmlDoc = CreateObject("Msxml2.DOMDocument")
sQuery = "http://mshsrmnsisd0086/IS04/Invoke.aspx"
senddata="<is04_service_request><action step='1'><arg name='Description'
value='xxxxx'/><arg name='TransferID'
value='TB0660000001'/></action></is04_service_request>"

xmlHTTP.open "POST", sQuery, false
' on error resume next
xmlHTTP.send(senddata)
' on error goto 0

xmlDoc.async = false
xmlDoc.loadXML(xmlHTTP.responseText)

' Error Handling
if xmlDoc.parseError.errorCode <> 0 Then
'Error handling invalid response or XML not valid
Wscript.echo "oops" & xmlDoc.parseError.errorCode & vbCrLf &
xmlHTTP.responseText
else

'Treat Response
strXMLOUT = xmlDOC.XML
Wscript.echo strXMLOUT
Set xmlDoc = Nothing
Set xmlHTTP = Nothing
end if


In this example the webservice gave back an url, on which the site is
redirected to.

But one problem still occour. When
I try to ask a webservice via get method without any parameters, it
works. But when I try to ask a webservice with methods it hangs.

For example:

url="http://localhost/test.asmx/helloworld"; < this works
url="http://localhost/test.asmx/helloworld?param=test"; < this hangs

The following Message comes:

System.InvalidOperationException
at System.Web.Services.Protocols.HttpServerProtocol.R eadParameters()
at System.Web.Services.Protocols.WebServiceHandler.In voke()
at System.Web.Services.Protocols.WebServiceHandler.Co reProcessRequest()

What could be problem?
Thanks for all answers.

Labhesh

--
Labhesh Shrimali - MCP
Bangalore - India
9886497756


"Alexey Smirnov" wrote:

> On Aug 7, 9:30 am, Labhesh Shrimali - Bangalore
> <(E-Mail Removed) m> wrote:
> > I am using vbscript for calling my webservice. From vbscript I Post XML
> > file/argument to webservice. and i get response from webservice.
> > This is working perfectly when there is no argument. but does not work when
> > my webmethod(In Webserice) takes argument.
> > I repeat: When service give me response when webmethod without argument, but
> > another webmethod with argument does not work.
> > not sure what is wronge with my code. Code as below
> > VBSCRIPT :
> > ' VBScript File
> > '************************************************'
> > Dim objHttp
> > dim objXmlDoc
> >
> > MsgBox("Starting the Calling webservice")
> > WSController()
> > MsgBox("End Calling the webservice")
> >
> > Public Function getDataFromWS(methodName, dataSetName)
> >
> > Dim wsParamValue
> > Dim wsParamName
> > '// create the XML object
> > Set objXmlDoc = CreateObject("Msxml2.DOMDocument")
> > 'Set objDictionary = CreateObject("Scripting.Dictionary")
> >
> > If IsNull(objXmlDoc) Then
> > Msgbox("Unable to create DOM document!")
> > Else
> > '// create an XmlHttp instance
> > Set objHttp = CreateObject("Microsoft.XMLHTTP")
> >
> > Dim objGetTransferResult
> > objGetTransferResult = "GetTransferResult"
> > Dim objDescription
> > objDescription = "Description"
> > Dim objTransferID
> > objTransferID = "TransferID"
> >
> > '// Create the SOAP Envelope
> > strEnvelope = "<soap:Envelope
> > xsi=\http://www.w3.org/2001/XMLSchema-instance\" + "
> > xsd=\http://www.w3.org/2001/XMLSchema\" + "
> > soap=\http://schemas.xmlsoap.org/soap/envelope/\>" + " <soap:Body>" + " <" +
> > methodName + " xmlns=\http://marksandspencer.com\>" + " </" + methodName +
> > ">" +" </soap:Body>" +"</soap:Envelope>"
> >
> > MsgBox(strEnvelope)
> >
> > '// Set up the post
> > objHTTP.onreadystatechange = getRef("LoadAndProcessDocument")
> > 'objHttp.onreadystatechange = Call abc(objHttp,objXmlDoc)
> >
> > Dim szUrl
> > szUrl = "http://localhost:1400/wsXMLHTTP/DynaProducts.asmx/" + methodName
> >
> > If wsParamValue <> null Then
> > szUrl = szUrl + "?" + wsParamName + "=" + wsParamValue
> > End If
> >
> > '// send the POST to the Web service
> > objHttp.open "POST", szUrl, true
> > objHttp.setRequestHeader "Content-Type",
> > "application/x-www-form-urlencoded"
> > objHttp.send strEnvelope
> > End If
> > End Function
> >
> > Public function LoadAndProcessDocument()
> > ' a readyState of 4 means we're ready to use the data returned by XMLHTTP
> > if objHttp.readystate = 4 then
> > dim szresponse
> > szresponse = objHttp.responsetext
> > objXmlDoc.loadxml(szresponse)
> > if objXmlDoc.parseerror.errorcode <> 0 then
> > dim xmlerr
> > Set xmlerr = objXmlDoc.parseerror
> > MsgBox("you have error " + xmlerr.reason)
> > Else
> > ProcesstheRequest()
> > '
> > End If
> > End If
> > End Function
> >
> > Public Function WSController()
> > MsgBox("I am inside WSController Function")
> > Dim func
> > 'func = getDataFromWS("GetCategories", "GetCategoriesDS")
> > func = getDataFromWS("GetTransferResult", "GetTransferResultDS")
> > 'MsgBox("Please wait while data is retrieved...")
> > 'Window.setTimeout func, 1
> > End Function
> >
> > Public Function ProcesstheRequest()
> > '// get an XML data island with the category data
> > 'MsgBox("I will show you Returned XML DOc" + objXmlDoc)
> >
> > MsgBox(objXmlDoc.text)
> >
> > 'objNodeList = objXmlDoc.getElementsByTagName("Description")
> > 'MsgBox("NodeList Size" + objNodeList.length)
> >
> > ' For i=0 to objNodeList.length
> > ' Dim dataNodeList
> > ' Dim textNode
> > ' Dim valueNode
> > ' dataNodeList = objNodeList(i).childNodes
> > ' MsgBox(dataNodeList.item(0))
> > ' MsgBox(dataNodeList.item(1))
> > ' Next
> > End Function
> >
> > '********************************
> > TWO WEBSERVICE METHODC#,ASP.NET)
> > [WebMethod]
> > public string GetTransferResult(string Description, string TransferID)
> > {
> > try
> > {
> >
> > }
> > catch
> > {
> > // error handling ommitted for brevity
> > }
> > finally
> > {
> > }
> >
> > return Description;
> > }
> >
> > [WebMethod]
> > public string GetCategories()
> > {
> > return "LABHESHSHRIMALI";
> > }
> >
> > How to run: Defind webservice method and run webservice.
> > give the path of webservice in vbscirpt file and execute the vbscript.
> >
> > I have taken the reference from following URL (in javascript)
> >
> > http://support.microsoft.com/kb/893659
> >
> > Please let me know if you have any problem in understanding my problem.
> >
> > --
> > Labhesh Shrimali - MCP
> > Mumbai-Bangalore - India
> > 9833952909

>
> So, you mean that this is not working?
>
> Dim szUrl
> szUrl = "http://localhost:1400/wsXMLHTTP/DynaProducts.asmx/" +
> methodName
>
> If wsParamValue <> null Then
> szUrl = szUrl + "?" + wsParamName + "=" + wsParamValue
> End If
>
> I think you have to change IF..THEN to
>
> If Not wsParamValue Is Nothing Then
>
> and then debug if you have the right szUrl at the end
>
>

 
Reply With Quote
 
Alexey Smirnov
Guest
Posts: n/a
 
      08-08-2007
On Aug 8, 9:04 am, Labhesh Shrimali - Bangalore
<(E-Mail Removed) m> wrote:

Hi Labhesh

> xmlHTTP.open "POST", sQuery, false


in a working example you do POST

> url="http://localhost/test.asmx/helloworld?param=test"; < this hangs
>


and in the problem code you do GET

So, what the exact code which returned an error?

url="http://localhost/test.asmx/helloworld?param=test"
Set xmlHTTP = CreateObject("MSXML2.ServerXMLHTTP")
xmlHTTP.Open "GET", url, False
xmlHTTP.Send

Like this?

The message is from .NET, where do you get it?

> The following Message comes:
>
> System.InvalidOperationException
> at System.Web.Services.Protocols.HttpServerProtocol.R eadParameters()
> at System.Web.Services.Protocols.WebServiceHandler.In voke()
> at System.Web.Services.Protocols.WebServiceHandler.Co reProcessRequest()
>


Can you post the service description and an asmx, so we can take look?
Does web service return an answer when you type
http://localhost/test.asmx/helloworld?param=test in a browser?

 
Reply With Quote
 
=?Utf-8?B?TGFiaGVzaCBTaHJpbWFsaSAtIEJhbmdhbG9yZQ==?=
Guest
Posts: n/a
 
      08-08-2007
Webservice as below *********
[System.Web.Services.WebMethod]
public string GetTransferResult(string TransferID, string Description)
{
try
{

}
catch
{
// error handling ommitted for brevity
}
finally
{
}

return Description;
}

[WebMethod]
public string GetCategories()
{
return "LABHESHSHRIMALI";
}

VB Script Code as below ***************
' VBScript File

Dim objHttp
dim objXmlDoc

MsgBox("Starting the Calling webservice")
WSController()
MsgBox("End Calling the webservice")


Public Function getDataFromWS(methodName, dataSetName, wsParamValue,
wsParamName)

'// create the XML object
Set objXmlDoc = CreateObject("Msxml2.DOMDocument")
'Set objDictionary = CreateObject("Scripting.Dictionary")

If IsNull(objXmlDoc) Then
Msgbox("Unable to create DOM document!")
Else
'// create an XmlHttp instance
Set objHttp = CreateObject("Microsoft.XMLHTTP")

Dim objGetTransferResult
objGetTransferResult = "GetTransferResult"
Dim objDescription
objDescription = "Description"
Dim objTransferID
objTransferID = "TransferID"

'// Create the SOAP Envelope
strEnvelope = "<soap12:Envelope
xmlnssi=http://www.w3.org/2001/XMLSchema-instance
xmlnssd=http://www.w3.org/2001/XMLSchema
xmlns:soap12=http://www.w3.org/2003/05/soap-envelope> <soap12:Body>
<GetCategories xmlns=http://marksandspencer.com/ />
</soap12:Body></soap12:Envelope>"
'strEnvelope = "<soap12:Envelope
xmlnssi=http://www.w3.org/2001/XMLSchema-instance
xmlnssd=http://www.w3.org/2001/XMLSchema
xmlns:soap12=http://www.w3.org/2003/05/soap-envelope><soap12:Body><GetTransferResult
xmlns=http://marksandspencer.com/><Description>string</Description><TransferID>string</TransferID></GetTransferResult></soap12:Body></soap12:Envelope>"
'strEnvelope = "<soap12:Envelope
xmlnssi=http://www.w3.org/2001/XMLSchema-instance
xmlnssd=http://www.w3.org/2001/XMLSchema
xmlns:soap12=http://www.w3.org/2003/05/soap-envelope> <soap12:Body>
<GetTransferResultResponse xmlns=http://marksandspencer.com/>
<GetTransferResultResult>string</GetTransferResultResult>
</GetTransferResultResponse> </soap12:Body></soap12:Envelope>"

MsgBox(strEnvelope)

'// Set up the post
objHTTP.onreadystatechange = getRef("LoadAndProcessDocument")
'objHttp.onreadystatechange = Call abc(objHttp,objXmlDoc)

Dim szUrl
szUrl = "http://localhost:1400/wsXMLHTTP/DynaProducts.asmx/" + methodName
szUrl = szUrl + + "?TransferID=" + wsParamName + "&Description=" +
wsParamValue
Msgbox(szUrl)

If IsEmpty(wsParamValue) Then
szUrl = szUrl + "?" + wsParamName + "=" + wsParamValue
Msgbox("Param not null" + wsParamValue)
Else
Msgbox("Param null" + wsParamValue)
End If
'// send the POST to the Web service
objHttp.open "POST", szUrl, true
objHttp.setRequestHeader "Content-Type",
"application/x-www-form-urlencoded"
'objHttp.setRequestHeader "Content-Type", "application/soap+xml;
charset=utf-8"
objHttp.send strEnvelope
End If
End Function

Public function LoadAndProcessDocument()
' a readyState of 4 means we're ready to use the data returned by XMLHTTP
if objHttp.readystate = 4 then
dim szresponse
szresponse = objHttp.responsetext
MsgBox(szresponse)
objXmlDoc.loadxml(szresponse)
if objXmlDoc.parseerror.errorcode <> 0 then
dim xmlerr
Set xmlerr = objXmlDoc.parseerror
MsgBox("you have error " + xmlerr.reason)
Else
ProcesstheRequest()
'
End If
End If
End Function

Public Function WSController()
MsgBox("I am inside WSController Function")
Dim func
func = getDataFromWS("GetCategories", "GetCategoriesDS","AAA","BBBB")
'func = getDataFromWS("GetTransferResult",
"GetTransferResultDS","AA","BB")
'func = getDataFromWS("OneArgument", "OneArgumentOnly")
MsgBox("Please wait while data is retrieved...")
'Window.setTimeout func, 1
idTimer = window.setTimeout("func", 1000, "VBScript")
' window.setTimeout func, 1, "JavaScript"
End Function

Public Function ProcesstheRequest()
'// get an XML data island with the category data
'MsgBox("I will show you Returned XML DOc" + objXmlDoc)

MsgBox(objXmlDoc.text)

End Function


--
Labhesh Shrimali - MCP
Bangalore - India
9886497756


"Alexey Smirnov" wrote:

> On Aug 8, 9:04 am, Labhesh Shrimali - Bangalore
> <(E-Mail Removed) m> wrote:
>
> Hi Labhesh
>
> > xmlHTTP.open "POST", sQuery, false

>
> in a working example you do POST
>
> > url="http://localhost/test.asmx/helloworld?param=test"; < this hangs
> >

>
> and in the problem code you do GET
>
> So, what the exact code which returned an error?
>
> url="http://localhost/test.asmx/helloworld?param=test"
> Set xmlHTTP = CreateObject("MSXML2.ServerXMLHTTP")
> xmlHTTP.Open "GET", url, False
> xmlHTTP.Send
>
> Like this?
>
> The message is from .NET, where do you get it?
>
> > The following Message comes:
> >
> > System.InvalidOperationException
> > at System.Web.Services.Protocols.HttpServerProtocol.R eadParameters()
> > at System.Web.Services.Protocols.WebServiceHandler.In voke()
> > at System.Web.Services.Protocols.WebServiceHandler.Co reProcessRequest()
> >

>
> Can you post the service description and an asmx, so we can take look?
> Does web service return an answer when you type
> http://localhost/test.asmx/helloworld?param=test in a browser?
>
>

 
Reply With Quote
 
=?Utf-8?B?TGFiaGVzaCBTaHJpbWFsaSAtIEJhbmdhbG9yZQ==?=
Guest
Posts: n/a
 
      08-08-2007
My Code as below:
WebService Methods: *****************************
[System.Web.Services.WebMethod]
public string GetTransferResult(string TransferID, string Description)
{
try
{

}
catch
{
// error handling ommitted for brevity
}
finally
{
}

return Description;
}
[WebMethod]
public string GetCategories()
{
return "LABHESHSHRIMALI";
}

VBScript files ********************************
' VBScript File

Dim objHttp
dim objXmlDoc

MsgBox("Starting the Calling webservice")
WSController()
MsgBox("End Calling the webservice")


Public Function getDataFromWS(methodName, dataSetName, wsParamValue,
wsParamName)

'// create the XML object
Set objXmlDoc = CreateObject("Msxml2.DOMDocument")
'Set objDictionary = CreateObject("Scripting.Dictionary")

If IsNull(objXmlDoc) Then
Msgbox("Unable to create DOM document!")
Else
'// create an XmlHttp instance
Set objHttp = CreateObject("Microsoft.XMLHTTP")

Dim objGetTransferResult
objGetTransferResult = "GetTransferResult"
Dim objDescription
objDescription = "Description"
Dim objTransferID
objTransferID = "TransferID"

'// Create the SOAP Envelope
strEnvelope = "<soap12:Envelope
xmlnssi=http://www.w3.org/2001/XMLSchema-instance
xmlnssd=http://www.w3.org/2001/XMLSchema
xmlns:soap12=http://www.w3.org/2003/05/soap-envelope> <soap12:Body>
<GetCategories xmlns=http://marksandspencer.com/ />
</soap12:Body></soap12:Envelope>"
'strEnvelope = "<soap12:Envelope
xmlnssi=http://www.w3.org/2001/XMLSchema-instance
xmlnssd=http://www.w3.org/2001/XMLSchema
xmlns:soap12=http://www.w3.org/2003/05/soap-envelope><soap12:Body><GetTransferResult
xmlns=http://marksandspencer.com/><Description>string</Description><TransferID>string</TransferID></GetTransferResult></soap12:Body></soap12:Envelope>"
'strEnvelope = "<soap12:Envelope
xmlnssi=http://www.w3.org/2001/XMLSchema-instance
xmlnssd=http://www.w3.org/2001/XMLSchema
xmlns:soap12=http://www.w3.org/2003/05/soap-envelope> <soap12:Body>
<GetTransferResultResponse xmlns=http://marksandspencer.com/>
<GetTransferResultResult>string</GetTransferResultResult>
</GetTransferResultResponse> </soap12:Body></soap12:Envelope>"

MsgBox(strEnvelope)

'// Set up the post
objHTTP.onreadystatechange = getRef("LoadAndProcessDocument")
'objHttp.onreadystatechange = Call abc(objHttp,objXmlDoc)

Dim szUrl
szUrl = "http://localhost:1400/wsXMLHTTP/DynaProducts.asmx/" + methodName
szUrl = szUrl + + "?TransferID=" + wsParamName + "&Description=" +
wsParamValue
Msgbox(szUrl)

If IsEmpty(wsParamValue) Then
szUrl = szUrl + "?" + wsParamName + "=" + wsParamValue
Msgbox("Param not null" + wsParamValue)
Else
Msgbox("Param null" + wsParamValue)
End If
'// send the POST to the Web service
objHttp.open "POST", szUrl, true
objHttp.setRequestHeader "Content-Type",
"application/x-www-form-urlencoded"
'objHttp.setRequestHeader "Content-Type", "application/soap+xml;
charset=utf-8"
objHttp.send strEnvelope
End If
End Function

Public function LoadAndProcessDocument()
' a readyState of 4 means we're ready to use the data returned by XMLHTTP
if objHttp.readystate = 4 then
dim szresponse
szresponse = objHttp.responsetext
MsgBox(szresponse)
objXmlDoc.loadxml(szresponse)
if objXmlDoc.parseerror.errorcode <> 0 then
dim xmlerr
Set xmlerr = objXmlDoc.parseerror
MsgBox("you have error " + xmlerr.reason)
Else
ProcesstheRequest()
'
End If
End If
End Function

Public Function WSController()
MsgBox("I am inside WSController Function")
Dim func
func = getDataFromWS("GetCategories", "GetCategoriesDS","AAA","BBBB")
'func = getDataFromWS("GetTransferResult",
"GetTransferResultDS","AA","BB")
'func = getDataFromWS("OneArgument", "OneArgumentOnly")
MsgBox("Please wait while data is retrieved...")
'Window.setTimeout func, 1
idTimer = window.setTimeout("func", 1000, "VBScript")
' window.setTimeout func, 1, "JavaScript"
End Function

Public Function ProcesstheRequest()
'// get an XML data island with the category data
'MsgBox("I will show you Returned XML DOc" + objXmlDoc)

MsgBox(objXmlDoc.text)

End Function

Let me know if you need any other info in understanding the problem.

In webservice there are two methods:
One method works fine which does not have arguemetn. but other give an error
because that has an argument.
and i want to provide the argument to the webservice method.

Plz help me how to achive this.
--
Labhesh Shrimali - MCP
Bangalore - India
9886497756


"Alexey Smirnov" wrote:

> On Aug 8, 9:04 am, Labhesh Shrimali - Bangalore
> <(E-Mail Removed) m> wrote:
>
> Hi Labhesh
>
> > xmlHTTP.open "POST", sQuery, false

>
> in a working example you do POST
>
> > url="http://localhost/test.asmx/helloworld?param=test"; < this hangs
> >

>
> and in the problem code you do GET
>
> So, what the exact code which returned an error?
>
> url="http://localhost/test.asmx/helloworld?param=test"
> Set xmlHTTP = CreateObject("MSXML2.ServerXMLHTTP")
> xmlHTTP.Open "GET", url, False
> xmlHTTP.Send
>
> Like this?
>
> The message is from .NET, where do you get it?
>
> > The following Message comes:
> >
> > System.InvalidOperationException
> > at System.Web.Services.Protocols.HttpServerProtocol.R eadParameters()
> > at System.Web.Services.Protocols.WebServiceHandler.In voke()
> > at System.Web.Services.Protocols.WebServiceHandler.Co reProcessRequest()
> >

>
> Can you post the service description and an asmx, so we can take look?
> Does web service return an answer when you type
> http://localhost/test.asmx/helloworld?param=test in a browser?
>
>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Msxml*.XMLHTTP vs. Microsoft.XMLHTTP yawnmoth Javascript 11 11-09-2006 08:44 PM
Retrieving a Web Page with XMLHTTP RHPT ASP General 2 09-07-2005 11:16 PM
MSXML.XMLHTTP / ASP Page / Session Martin Waller ASP General 5 03-11-2005 05:08 PM
Grabbing secure web page with Microsoft.XMLHTTP Matthew Leiderman ASP General 0 06-16-2004 03:40 PM
Execute server code without complete page refresh (XMLHTTP) Matt ASP .Net 3 01-14-2004 09:50 PM



Advertisments