Hallo zusammen,
Ich schreibe gerade ein Plugin in vb.net , Ziel des Plugins ist die einbindinung der UPS-Pickup Api in unserere Bestehende Gesamt-Software.
Allerdings habe ich momenten ein "kleines" Problem, und zwar wird in dem Beispiel des UPS SDK´s (C#) eine Class PickupService zur Verbindung und übergabe des Request-Objekts genutzt welche in der von UPS generierten Reference.cs definiert ist. Diese Class PickupService taucht allerdings beim einbinden der Pickup.wsdl in mein VB Projekt in der Reference.vb leider nicht auf.
Mein Versuch wahr es, mein Request über den MSXML2.XMLHTTP zu senden was leider in einer unbekanten Exception endet.
Vileicht hat ja hier eienr eine Idee oder stand selber schon vor dem gleichen oder einem ähnlichen Problem.
Hier einmal der C# Code aus dem Beispiel
Spoiler anzeigen
Und den ersten teil der reference
Spoiler anzeigen
Gruß Tkrox
Ich schreibe gerade ein Plugin in vb.net , Ziel des Plugins ist die einbindinung der UPS-Pickup Api in unserere Bestehende Gesamt-Software.
Allerdings habe ich momenten ein "kleines" Problem, und zwar wird in dem Beispiel des UPS SDK´s (C#) eine Class PickupService zur Verbindung und übergabe des Request-Objekts genutzt welche in der von UPS generierten Reference.cs definiert ist. Diese Class PickupService taucht allerdings beim einbinden der Pickup.wsdl in mein VB Projekt in der Reference.vb leider nicht auf.
Mein Versuch wahr es, mein Request über den MSXML2.XMLHTTP zu senden was leider in einer unbekanten Exception endet.
Vileicht hat ja hier eienr eine Idee oder stand selber schon vor dem gleichen oder einem ähnlichen Problem.
Hier einmal der C# Code aus dem Beispiel
Brainfuck-Quellcode
- using System;
- using System.Collections.Generic;
- using System.Text;
- using PickupWSSample.PickupWebReference;
- using System.ServiceModel;namespace PickupWSSample
- {
- class PickupClient
- {
- static void Main()
- {
- try
- {
- PickupService pickupService = new PickupService();
- PickupCreationRequest pickupCreationRequest = new PickupCreationRequest();
- RequestType request = new RequestType();
- String[] requestOption = { " " };
- request.RequestOption = requestOption;
- pickupCreationRequest.Request = request;
- pickupCreationRequest.RatePickupIndicator = "N";
- ShipperType shipper = new ShipperType();
- AccountType account = new AccountType();
- account.AccountCountryCode = "DE";
- account.AccountNumber = "*******";
- shipper.Account = account;
- pickupCreationRequest.Shipper = shipper;
- PickupDateInfoType pickupDateInfo = new PickupDateInfoType();
- pickupDateInfo.CloseTime = "2000";
- pickupDateInfo.PickupDate = "20091230";
- pickupDateInfo.ReadyTime = "0900";
- pickupCreationRequest.PickupDateInfo = pickupDateInfo;
- PickupAddressType pickupAddress = new PickupAddressType();
- String[] addressLine = { "315 Saddle Bridge Drive" };
- pickupAddress.AddressLine = addressLine;
- pickupAddress.City = "Allendale";
- pickupAddress.CompanyName = "Pickup Proxy";
- pickupAddress.ContactName = "Pickup Proxy";
- pickupAddress.CountryCode = "US";
- pickupAddress.Floor = "2";
- pickupAddress.StateProvince = "NJ";
- PhoneType phoneType = new PhoneType();
- phoneType.Extension = "911";
- phoneType.Number = "6785851399";
- pickupAddress.Phone = phoneType;
- pickupAddress.PostalCode = "07401";
- pickupAddress.PickupPoint = "Lobby";
- pickupAddress.ResidentialIndicator = "Y";
- PickupCreationRequest.PickupAddress = pickupAddress;
- pickupCreationRequest.AlternateAddressIndicator = "N";
- PickupPieceType[] pickupPiece = new PickupPieceType[1];
- PickupPieceType pickupType = new PickupPieceType();
- pickupType.ContainerCode = "01";
- pickupType.DestinationCountryCode = "DE";
- pickupType.Quantity = "27";
- pickupType.ServiceCode = "002";
- pickupPiece[0] = pickupType;
- pickupCreationRequest.PickupPiece = pickupPiece;
- WeightType totalWeight = new WeightType();
- totalWeight.UnitOfMeasurement = "KGS";totalWeight.Weight = "2.0";
- pickupCreationRequest.TotalWeight = totalWeight;
- pickupCreationRequest.OverweightIndicator = "N";
- //String[] returnTrackingNumber = { "Your return tracking number 1", "Your return tracking number 2", "Your return tracking number 3" };
- //pickupCreationRequest.ReturnTrackingNumber = returnTrackingNumber;
- pickupCreationRequest.PaymentMethod = "01";
- pickupCreationRequest.SpecialInstruction = ".Net Sample code for Pickup Client";
- //CSRType CSR = new CSRType();
- //CSR.ProfileCountryCode = "US";
- //CSR.ProfileId = "CSR profile id";
- //pickupCreationRequest.CSR = CSR;
- UPSSecurity upss = new UPSSecurity();
- UPSSecurityServiceAccessToken upssSvcAccessToken = new UPSSecurityServiceAccessToken();
- upssSvcAccessToken.AccessLicenseNumber = "**********";
- upss.ServiceAccessToken = upssSvcAccessToken;
- UPSSecurityUsernameToken upssUsrNameToken = new UPSSecurityUsernameToken();
- upssUsrNameToken.Username = "*****";
- upssUsrNameToken.Password = "*******";
- upss.UsernameToken = upssUsrNameToken;
- pickupService.UPSSecurityValue = upss;
- System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
- Console.WriteLine(pickupCreationRequest);
- PickupCreationResponse pickupCreationResponse = pickupService.ProcessPickupCreation(pickupCreationRequest);
- Console.WriteLine("The transaction was a " + pickupCreationResponse.Response.ResponseStatus.Description);
- Console.WriteLine("The Pickup Request Confirmation Number is : " + pickupCreationResponse.PRN);Console.ReadKey();
- }
- catch (System.Web.Services.Protocols.SoapException ex)
- {
- Console.WriteLine("");Console.WriteLine("---------Pickup Web Service returns error----------------");
- Console.WriteLine("---------\"Hard\" is user error \"Transient\" is system error----------------");
- Console.WriteLine("SoapException Message= " + ex.Message);
- Console.WriteLine("");Console.WriteLine("SoapException Category:Code:Message= " + ex.Detail.LastChild.InnerText);
- Console.WriteLine("");Console.WriteLine("SoapException XML String for all= " + ex.Detail.LastChild.OuterXml);
- Console.WriteLine("");Console.WriteLine("SoapException StackTrace= " + ex.StackTrace);
- Console.WriteLine("-------------------------");Console.WriteLine("");
- }
- catch (System.ServiceModel.CommunicationException ex)
- {
- Console.WriteLine("");
- Console.WriteLine("--------------------");
- Console.WriteLine("CommunicationException= " + ex.Message);
- Console.WriteLine("CommunicationException-StackTrace= " + ex.StackTrace);
- Console.WriteLine("-------------------------");Console.WriteLine("");
- }
- catch (Exception ex)
- {
- Console.WriteLine("");
- Console.WriteLine("-------------------------");
- Console.WriteLine(" General Exception= " + ex.Message);
- Console.WriteLine(" General Exception-StackTrace= " + ex.StackTrace);
- Console.WriteLine("-------------------------");
- }
- finally
- {
- Console.ReadKey();
- }
- }
- }
- }
Und den ersten teil der reference
Quellcode
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")][System.Diagnostics.DebuggerStepThroughAttribute()]
- [System.ComponentModel.DesignerCategoryAttribute("code")][System.Web.Services.WebServiceBindingAttribute(Name="PickupBinding", Namespace="http://www.ups.com/WSDL/XOLTWS/Pickup/v1.1")]public partial class PickupService : System.Web.Services.Protocols.SoapHttpClientProtocol {
- private UPSSecurity uPSSecurityValueField;
- private System.Threading.SendOrPostCallback ProcessPickupCreationOperationCompleted;
- private System.Threading.SendOrPostCallback ProcessPickupRateOperationCompleted;
- private System.Threading.SendOrPostCallback ProcessPickupCancelOperationCompleted;
- private System.Threading.SendOrPostCallback ProcessPickupPendingStatusOperationCompleted;
- private bool useDefaultCredentialsSetExplicitly;
- /// <remarks/>public PickupService() {
- this.Url = global::PickupWSSample.Properties.Settings.Default.PickupWSSample_PickupWebReference_PickupService;
- if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
- this.UseDefaultCredentials = true;
- this.useDefaultCredentialsSetExplicitly = false;
- }else {this.useDefaultCredentialsSetExplicitly = true;
- }
- }
- public UPSSecurity UPSSecurityValue {
- get {return this.uPSSecurityValueField;
- }set {this.uPSSecurityValueField = value;
- }
- }
Gruß Tkrox
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „iTkrox“ () aus folgendem Grund: sry wegen einrückung habs versucht bisl händisch zu schieben die Formatierung aus dem Studio übernimmt der irgendwie nicht