ssis - XML: 'src' 不是一个意外的标记。预期的标记是'='
问题描述
我有一个在 SQL 2008 上运行的 VS 2008 中开发的 DTSX 代码。现在我需要使用 VS 2015 迁移到 2017。这个 DTSX 的任务是使用他们提供的 Web 服务从第三方网站获取 XML。现在我总是得到这个错误:
'src' 是一个意外的标记。预期的标记是“=”。第 8 行,第 7 位。
我尝试了加密包。
public void Main()
{
String requestUrl = `"https://myTemlurl/XMLj/X-ShipmentStatus";`
Uri conwayUri = new Uri(requestUrl);
String username = "userABC";
String password = "pwd1234";
String authType = "basic";
String tracking = "VEG123456";
NetworkCredential myCred = new NetworkCredential(username, password);
CredentialCache myCache = new CredentialCache();
myCache.Add(conwayUri, authType, myCred);
string today = DateTime.Today.Month.ToString() + "/" + DateTime.Today.Day.ToString() + "/" + DateTime.Today.Year.ToString().Remove(0, 2);
ArrayList trackNums = new ArrayList();
`trackNums.Add(tracking);`
String xmlRequest = "";
xmlRequest += "<ShipmentStatusRequest testmode=\"N\">";
xmlRequest += "<CustomerNumber>493116471</CustomerNumber>";
xmlRequest += "<ReportType>M</ReportType>";
xmlRequest += "<ShipmentRole>B</ShipmentRole>";
xmlRequest += "</ShipmentStatusRequest>";
// Encode the Request String and set up the POST data
xmlRequest = HttpUtility.UrlEncode(xmlRequest);
String postData = "ShipmentStatusRequest=" + xmlRequest;
ASCIIEncoding encoding = new ASCIIEncoding();
byte [] postBuffer = encoding.GetBytes(postData);
// Set up the HTTP Request
HttpWebRequest wReq = (HttpWebRequest) WebRequest.Create(conwayUri);
wReq.ContentType="application/x-www-form-urlencoded";
wReq.ContentLength = postBuffer.Length;
wReq.Method="POST";
wReq.Timeout=180000;
wReq.KeepAlive = false;
wReq.ReadWriteTimeout = 180000;
wReq.Credentials = myCache;
wReq.PreAuthenticate = true;
Stream reqStream = null;
reqStream = wReq.GetRequestStream();
reqStream.Write(postBuffer,0,postBuffer.Length);
reqStream.Close();
try
{
HttpWebResponse wResp = (HttpWebResponse)wReq.GetResponse();
Stream respStream = wResp.GetResponseStream();
XmlTextReader xmlReader = new XmlTextReader(respStream);
XmlDocument xmlStatus = new XmlDocument();
xmlStatus.Load(xmlReader);
//The entire XML Response String
String respString = xmlStatus.InnerXml;
respString = respString.Replace("<PRONmbr>", "</Shipment><Shipment><PRONmbr>");
respString = respString.Replace("</ShipmentStatusResponse>", "</Shipment></ShipmentStatusResponse>");
respString = respString.Replace("?dest=privacy.\"></Shipment>", "?dest=privacy.\">");
Dts.Variables["User::Results"].Value = respString;
// Clean up resources
//reqStream.Close();
xmlReader.Close();
respStream.Close();
wResp.Close();
Dts.TaskResult = (int)ScriptResults.Success;
}
catch(Exception ex)
{
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
我想知道我哪里出错了。谢谢
解决方案
推荐阅读
- python - “找不到任何有价值的窗口提供程序”错误
- python - 如何进一步优化这段代码?
- lstm - 如何使用二进制标签计算 LSTM 的累积分数?
- wso2dss - WSO2EI DSS 中未发现 ERP 操作错误
- swift - GKState:为什么 StateMachine == nil 代表调用?
- php - 我想通过比较两个索引从嵌套关联数组中删除
- c# - 在 ListBoxItem DataTemplate 内的嵌套控件中处理相同的单击事件 - WPF
- c# - Listview 行工具提示显示持续时间
- mysql - 如何对计数数据进行分组
- python-3.x - 如何修复 Python 中的“值错误”(使用情节)