2012-07-11 65 views
0

我成功添加了一个web参考到我的asp.net vb web项目。在asp.net中包含webservice后的步骤

但我不知道如何做我的第一个搜索原因没有文档。

任何人都可以给我一些关于以下webservice的提示吗?

http://xml.lowcostgroup.com/soap/book.asmx

相应要求

<?xml version="1.0" encoding="utf-8"?> 
<SearchRequest> 
    <LoginDetails> 
    <Login>login</Login> 
    <Password>pass</Password> 
    <AgentReference>IRELAND</AgentReference> 
    </LoginDetails> 
    <SearchDetails> 
    <ArrivalDate>2012-08-11</ArrivalDate> 
    <Duration>7</Duration> 
    <RegionID>64</RegionID> 
    <AirportCode>PMI</AirportCode> 
    <PropertyID>0</PropertyID> 
    <Resorts> 
     <Resort> 
     <ResortID>324</ResortID> 
     </Resort> 
     <Resort> 
     <ResortID>343</ResortID> 
     </Resort> 
     <Resort> 
     <ResortID>347</ResortID> 
     </Resort> 
    </Resorts> 
    <MealBasisID>0</MealBasisID> 
    <MinStarRating>0</MinStarRating> 
    <RoomRequests> 
     <RoomRequest> 
     <Adults>2</Adults> 
     <Children>1</Children> 
     <Infants>0</Infants> 
     <ChildAges> 
      <ChildAge> 
       <Age>5</Age> 
      </ChildAge> 
     </ChildAges> 
     </RoomRequest> 
    </RoomRequests> 
    </SearchDetails> 
</SearchRequest> 
+0

您必须在添加“服务参考”后使用'YourNameSpace..wbBookSoapClient'中的* proxy *类。 – adatapost 2012-07-11 14:51:11

+0

thx您的反馈意见,你能否更精确一点吗? – user168507 2012-07-11 15:06:03

回答

1

当您添加Web服务,你必须在窗口的底部,进入一个文本框命名空间。在该名称空间内将是您需要调用服务的服务客户端。

举例来说,如果你用“bookService的”为您的命名空间的代码会是这个样子:

BookService.SearchRequest searchRequest = new BookService.SearchRequest(); 
// Fill out the search request 

BookService.wbBookSoapClient client = new BookService.wbBookSoapClient(); 
BookService.SearchResponse response = client.Search(searchRequest); 

根据您在下面的评论发布的代码,你应该更新它看起来像如下:

 ServiceReference1.PropertyDetailsRequest searchRequest = new ServiceReference1.PropertyDetailsRequest(); 
     ServiceReference1.LoginDetails loginDetails = new ServiceReference1.LoginDetails(); 

     loginDetails.Login = ""; 
     loginDetails.Password = ""; 
     loginDetails.AgentReference = "german"; 

     searchRequest.LoginDetails = loginDetails; 
     searchRequest.PropertyID = 20; 

     ServiceReference1.wbBookSoapClient client = new ServiceReference1.wbBookSoapClient(); 
     ServiceReference1.PropertyDetailsResponse response = client.PropertyDetails(searchRequest); 
+0

再次感谢。根据你的代码,这里有什么可能是错的? ServiceReference1.PropertyDetailsRequest searchRequest = new ServiceReference1.PropertyDetailsRequest(); //填写搜索请求 searchRequest.LoginDetails.Login =“”; searchRequest.LoginDetails.Password =“”; searchRequest.LoginDetails.AgentReference =“german”; searchRequest.PropertyID = 20; ServiceReference1.wbBookSoapClient client = new ServiceReference1.wbBookSoapClient(); ServiceReference1.SearchResponse response = client.Search(searchRequest); – user168507 2012-07-11 15:40:09

+0

您发布的代码存在问题的原因是您的搜索请求的类型为“PropertyDetailsRequest”,而方法“client.Search()”正在等待“SearchRequest”类型的请求。我会更新我的答案,并对您发布的代码进行一些更正。 – 2012-07-11 15:48:20

+0

thx,我们正在接近解决方案。仍然有一个错误。填写搜索请求是错误的。我已经插入正确的登录名,通过 – user168507 2012-07-11 16:03:25