RosettaNet Configuration Bug:Value cannot be null
2008-08-27 02:05
477 查看
最近发现在配置RosettaNet时候,总是报错: Value cannot be null.很郁闷,因为没办法调出UI配置Agreement,只好在数据库里修改 TPA 信息.
不死心找bug, 反编译Microsoft.Solutions.BTARN.AdminSnapin.dll, 跟踪调试,发现在
public ProcessConfiguration(string displayCode)
{... this.fieldActivityProperties.ActivityName = values.Get("Activity_Name");
时候报错:value cannot be null.
检查BTARNConfig..PIPConfig表Data字段,发现少了Activity_Name字段,
<key name="Activity_Name" value="Notify of Consumption" />
检查Hotfix History,发现原来是打过KB938839 Hotfix,需要更新BTARNConfig数据库.详见KB938839 ,
Update_BTARNConfig_PIPConfig.sql
--------------------------------------------
附 PIPConfig Data
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
不死心找bug, 反编译Microsoft.Solutions.BTARN.AdminSnapin.dll, 跟踪调试,发现在
public ProcessConfiguration(string displayCode)
{... this.fieldActivityProperties.ActivityName = values.Get("Activity_Name");
时候报错:value cannot be null.
检查BTARNConfig..PIPConfig表Data字段,发现少了Activity_Name字段,
<key name="Activity_Name" value="Notify of Consumption" />
检查Hotfix History,发现原来是打过KB938839 Hotfix,需要更新BTARNConfig数据库.详见KB938839 ,
Update_BTARNConfig_PIPConfig.sql
USE [BTARNCONFIG] GO BEGIN TRANSACTION updatePatch SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO DECLARE @ActivityName nvarchar(300) DECLARE @lengthPart1 bigint DECLARE @nameExists int DECLARE @PIPID int DECLARE @PIPName nvarchar(256) DECLARE @stringPart1 nvarchar(4000) DECLARE @stringPart2 nvarchar(4000) DECLARE @totalLength bigint DECLARE @totalString nvarchar(4000) DECLARE data_cursor CURSOR FOR SELECT ID,Name,Data FROM dbo.PIPConfig OPEN data_cursor FETCH NEXT FROM data_cursor INTO @PIPID,@PIPName,@totalString WHILE @@FETCH_STATUS=0 BEGIN SELECT @nameExists=CHARINDEX('Activity_Name',@totalString) IF (@nameExists = 0) BEGIN SELECT @lengthPart1=(CHARINDEX('<key name="Activity_Type"',@totalString)-1),@totalLength=DATALENGTH(@totalString) SELECT @stringPart1=SUBSTRING(@totalString,1,@lengthPart1),@stringPart2=SUBSTRING(@totalString,@lengthPart1+1,@totalLength-@lengthPart1) SET @ActivityName='<key name="Activity_Name" value="'+@PIPName+'" />' SET @stringPart1=@stringPart1+@ActivityName UPDATE PIPConfig SET data=@stringPart1+@stringPart2 WHERE ID=@PIPID END FETCH NEXT FROM data_cursor INTO @PIPID,@PIPName,@totalString END CLOSE data_cursor DEALLOCATE data_cursor COMMIT TRANSACTION updatePatch
--------------------------------------------
附 PIPConfig Data
<?xml version="1.0" encoding="utf-8"?> <NameValueCollection> <key name="PIP_Code" value="4B3"/> <key name="PIP_Description" value=""The ""Notify of Consumption"" Partner Interface Process supports consumption notification within a consignment inventory management process where -The supplier ships product to a consigned warehouse location based upon receipt of demand forecast and t"/> <key name="PIP_DisplayCode" value="TI_STD_4B3_V01.00"/> <key name="PIP_InternalID" value="1011"/> <key name="PIP_messageStandard" value=""/> <key name="PIP_Name" value="Notify of Consumption"/> <key name="PIP_nonRosettaNet" value="False"/> <key name="PIP_payloadBindingID" value=""/> <key name="PIP_Standard" value="RosettaNet"/> <key name="PIP_standardVersion" value=""/> <key name="PIP_Version" value="V01.00"/> <key name="Activity_Name" value="Notify of Consumption"/> <key name="Activity_Type" value="Notification"/> <key name="Activity_IsSingleAction" value="True"/> <key name="Activity_IsSynchronous" value="False"/> <key name="Activity_NonRepudiationOfReceipt" value="False"/> <key name="Activity_TimetoAcknowledge" value="7200"/> <key name="Activity_TimetoPerform" value="86400"/> <key name="Activity_Retrycount" value="3"/> <key name="Activity_IsAuthorizationRequired" value="False"/> <key name="Activity_NonRepudiationofOriginandContent" value="False"/> <key name="Activity_IsPersistentConfidentialityRequired" value="None"/> <key name="Activity_IsSecureTransportRequired" value="True"/> <key name="Initiator_Role" value="Consumption Notification Provider"/> <key name="Initiator_RoleDescription" value="The party that creates and sends consumption information to Supplier."/> <key name="Initiator_RoleType" value="Organizational"/> <key name="Initiator_Service" value="Consumption Notification Provider Service"/> <key name="Initiator_ServiceClassification" value="Business Service"/> <key name="Initiator_Action" value="Consumption Notification Action"/> <key name="Initiator_BusinessDocument_Name" value="Consumption Notification"/> <key name="Initiator_BusinessDocument_Description" value="The Consumption Notification contains consumption information includes product identification, quantities; consumption dates, and may include payment reference number and purchase order number."/> <key name="Initiator_BusinessDocument_Version" value="V01.00"/> <key name="Responder_Role" value="Consumption Notification User"/> <key name="Responder_RoleDescription" value="The party that requires consumption information from the customer to manage inventory"/> <key name="Responder_RoleType" value="Organizational"/> <key name="Responder_Service" value="Consumption Notification Provider Service"/> <key name="Responder_ServiceClassification" value="Business Service"/> <key name="Responder_Action" value="Consumption Notification Action"/> <key name="Responder_BusinessDocument_Name" value="Consumption Notification"/> <key name="Responder_BusinessDocument_Description" value="The Consumption Notification contains consumption information includes product identification, quantities; consumption dates, and may include payment reference number and purchase order number."/> <key name="Responder_BusinessDocument_Version" value="V01.00"/> </NameValueCollection>
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
相关文章推荐
- ASP.NET报错——Master Page frameworkName: Value cannot be null error
- asp.net 异常:Message="Value cannot be null.\r\nParameter name: g"
- [asp.net core]The requested page cannot be accessed because the related configuration data for the page is invalid.
- Visual Studio 2015中创建C#的Android项目提示"Value cannot be null"的解决方法
- Optional int parameter 'id' is present but cannot be translated into a null value due to being decla
- MVC ListBoxFor raises “value cannot be null” exception
- In .NET 1.0, value types can't be null, but in 2.0 they can.
- Default value for column cannot be changed to NULL
- Optional int parameter 'projectId' is present but cannot be translated into a null value due to bein
- Can't User UserProfileManager.GetUserProfile Get User Userprofile In Web Service,Error:System.ArgumentNullException: Value Cannot Be Null.(不能在Webservice中使用UserProfileManager的GetUserProfile得到用户配置,报错:System.ArgumentNullException: 值不能为空。)
- Optional int parameter 'pageNumber' is present but cannot be translated into a null value due to bei
- java.lang.ClassCastException: net.sf.json.JSONNull cannot be cast to net.sf.json.JSONObject
- is present but cannot be translated into a null value due to being declared as a primitive type
- Visual Studio 2015中创建C#的Android项目提示"Value cannot be null"的解决方法
- float和Float的问题,错误原因:cannot be translated into a null value
- hmset命令报错 value sent to redis cannot be null
- Value cannot be null. Parameter name: source
- Optional int parameter 'id' is present but cannot be translated into a null value due to being decla
- org.json.JSONException: Value java.net.UnknownHostException of type java.lang.String cannot be conv
- Value cannot be null or empty. 参数名: contentPath