TravelPort WCF呼叫问题



试图拨打wcf电话给travelport Service ..添加了他们的wsdl文件。

问题是端点地址是"https",当调用它时,它说URi模式期望http ..试图将绑定从basicHttpBinding更改为wsHttpBinding,但它引发了另一个无法识别的绑定类型的期望。

已尝试使用http方案的相同Url,但请求超时。

如果可以提供任何关于TravelPort wcf call的具体教程,那将是一个很大的帮助。

示例代码如下(如果有帮助的话:)

PingReq req = new PingReq();
        req.Payload = "Payload";
        req.TraceId = "abcd";
        SystemPingPortTypeClient port = new SystemPingPortTypeClient();
        PingRsp rsp = port.service(req);

认为,

    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人员为什么会发生。可能是简单的事情,比如你的证书被锁定了。

最新更新