尝试对travelport服务进行wcf调用..添加了他们的wsdl文件。
问题是端点地址是“https”,并且当调用它时,它说URi模式期望http ..试图将Binding从basicHttpBinding更改为wsHttpBinding但是它引发了另一种未被识别的绑定类型。< / p>
尝试了与http方案相同的Url,但请求Times out。
如果可以提供任何特定的TravelPort wcf调用教程,那将是一个很大的好处..
示例代码如下(如果可以有任何帮助:))
PingReq req = new PingReq();
req.Payload = "Payload";
req.TraceId = "abcd";
SystemPingPortTypeClient port = new SystemPingPortTypeClient();
PingRsp rsp = port.service(req);
此致
答案 0 :(得分:1)
LowFareSearchReq req = new LowFareSearchReq();
req.TargetBranch = "{EnterBranchCode}";
req.AuthorizedBy = "test";
BillingPointOfSaleInfo biPOS = new BillingPointOfSaleInfo();
biPOS.OriginApplication = "uAPI";
req.BillingPointOfSaleInfo = biPOS;
//from LHR to BOM
SearchAirLeg airLeg = new SearchAirLeg();
Airport fromAirPort = new Airport() { Code = "LHR" };
typeSearchLocation fromTypLoc = new typeSearchLocation(){Item=fromAirPort};
airLeg.SearchOrigin = new typeSearchLocation[1] { fromTypLoc };
Airport toAirPort = new Airport() { Code = "BOM" };
typeSearchLocation toTypLoc = new typeSearchLocation() { Item = toAirPort };
airLeg.SearchDestination = new typeSearchLocation[1] { toTypLoc };
typeTimeSpec origDep = new typeTimeSpec() { PreferredTime = "2013-05-24" };
airLeg.Items = new typeTimeSpec[1] { origDep };
//from BOM to LHR
SearchAirLeg returnAirLeg = new SearchAirLeg();
Airport fromAirPort1 = new Airport() { Code = "BOM" };
typeSearchLocation fromTypLoc1 = new typeSearchLocation() { Item = fromAirPort1 };
returnAirLeg.SearchOrigin = new typeSearchLocation[1] { fromTypLoc1 };
Airport toAirPort1 = new Airport() { Code = "LHR" };
typeSearchLocation toTypLoc1 = new typeSearchLocation() { Item = toAirPort1 };
returnAirLeg.SearchDestination = new typeSearchLocation[1] { toTypLoc1 };
typeTimeSpec destDep = new typeTimeSpec() { PreferredTime = "2013-05-27" };
returnAirLeg.Items = new typeTimeSpec[1] { destDep };
req.Items = new object[] { airLeg, returnAirLeg };
//modifiers
AirSearchModifiers airSearchMod = new AirSearchModifiers()
{
DistanceType = typeDistance.MI,
IncludeFlightDetails = true,
PreferNonStop = true,
MaxSolutions = "300",
PreferredProviders = new Provider[1] {new Provider(){ Code = "1G" }}
};
AirPricingModifiers airPriceMod = new AirPricingModifiers()
{
FiledCurrency = "GBP"
};
req.AirSearchModifiers = airSearchMod;
req.AirPricingModifiers = airPriceMod;
//passenger details
SearchPassenger pass1 = new SearchPassenger() { Code = "ADT" };
SearchPassenger pass2 = new SearchPassenger() { Code = "ADT" };
req.SearchPassenger = new SearchPassenger[] { pass1, pass2 };
//reponse
LowFareSearchRsp res= new LowFareSearchRsp();
AirLowFareSearchPortTypeClient cli = new AirLowFareSearchPortTypeClient("AirLowFareSearchPort");
cli.ClientCredentials.UserName.UserName = "Enter User Name";
cli.ClientCredentials.UserName.Password = "Enter Password";
res = cli.service(req);
上面的示例代码适合我。当您捕获Exception时,您可能会获得一些代码,然后您可以向TravelPort的员工询问为什么这些代码也很开心。您的凭据被锁定可能很简单。