อาการ
โปรแกรมประยุกต์ตัวรวมเซสชันที่ใช้อินเทอร์เฟซการเขียนโปรแกรม LU0 ส่งกลับข้อผิดพลาดต่อไปนี้เมื่อได้รับการตอบสนองจากโปรแกรมประยุกต์เมนเฟรม:
ข้อความ: หัวข้อจัดการฟังก์ชันที่ส่งกลับจากโฮสต์ที่ประกอบด้วยความยาวไม่ถูกต้อง
รหัสข้อผิดพลาด: Microsoft.HostIntegration.SNA.Session.SessionStatus.FMHLengthError "
สาเหตุ
ปัญหานี้เกิดขึ้นเมื่อแอพลิเคชันเมนเฟรมที่ส่งข้อมูลไปยังตัวรวมเซสชันที่มีฟังก์ชันการจัดการหัวข้อ (FMH) ในการตอบสนองหัวข้อ (RH) การตั้งค่าเป็น1บิต การตั้งค่านี้บ่งชี้ว่า อย่าง น้อยหนึ่งฟังก์ชัน (FM) การจัดการข้อมูลส่วนหัวจะรวมอยู่ในการตอบกลับ ในสถานการณ์ที่อธิบายไว้ในส่วน "อาการ" การตอบสนองจากเมนเฟรมไม่รวมหัว FM ใด ๆ ซึ่งทำให้การตอบสนองสามารถแยกวิเคราะห์อย่างไม่ถูกต้อง ข้อผิดพลาดเป็นสาเหตุของปัญหานี้ในการแยกวิเคราะห์
การแก้ปัญหา
ข้อมูลการปรับปรุงสะสม
การแก้ไขที่แก้ไขปัญหานี้จะรวมอยู่ในการปรับปรุงสะสม 2 2013 เซิร์ฟเวอร์รวมโฮสต์
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
หลังจากที่คุณใช้โปรแกรมปรับปรุงนี้ คุณสามารถควบคุมตัวรวมเซสชันแยกวิเคราะห์ส่วนหัว FM โดยใช้ตัวเลือกการตั้งค่าคอนฟิกในอินเทอร์เฟซการเขียนโปรแกรม LU0 โดยค่าเริ่มต้น ตัวรวมเซสชันพยายามแยกวิเคราะห์ส่วนหัว FM ถ้าบิตการ FMH ไว้ในหัวข้อการตอบสนอง
ถ้าแอพลิเคชัน LU0 ตัวรวมเซสชันใช้สายอักขระการเชื่อมต่อเพื่อเชื่อมต่อไปยังเมนเฟรม IBM พารามิเตอร์ต่อไปนี้สามารถเพิ่มลงในสายอักขระการเชื่อมต่อเพื่อปิดใช้งานการแยกวิเคราะห์ FMH:
FUNCTIONMANAGEMENTHEADERS=NONE
ต่อไปนี้เป็นตัวอย่างของสายอักขระการเชื่อมต่อที่มีคุณสมบัตินี้ใหม่ที่เพิ่ม:
_session.Connect("FUNCTIONMANAGEMENTHEADERS=NONE;LogicalUnitName=" + LUName.Text, SessionLU0InitType.SSCP);
หมายเหตุ สตริงการเชื่อมต่อนี้เป็นไปตามสายอักขระการเชื่อมต่อที่ใช้ในตัวอย่างตัวรวมเซสชัน LU0NET ที่มีอยู่ใน SDK 2013 โฮสต์รวมเซิร์ฟเวอร์
ถ้าคุณสมบัติFUNCTIONMANAGEMENTHEADERSไม่ได้รวมอยู่ในสายอักขระการเชื่อมต่อ หรือ ถ้าคุณสมบัตินี้ถูกตั้งค่าเป็นFUNCTIONMANAGEMENTHEADERS =รวมยอดและถ้าบิตการ FMH ถูกตั้งค่าเป็น1ตัวรวมเซสชันพยายามแยกวิเคราะห์ส่วนหัว FM ในข้อมูลที่ได้รับจากแอพลิเคชันเมนเฟรม IBM
ตัวรวมเซสชันใช้คลาสSessionConnectionLU0เพื่อระบุคุณสมบัติการเชื่อมต่อที่จะใช้เมื่อเชื่อมต่อไปยังระบบเมนเฟรม IBM, FM หัวแยกวิเคราะห์จะถูกควบคุม โดยใช้คุณสมบัติต่อไปนี้:
FunctionManagementHeaderSupportคุณสมบัติFunctionManagementHeaderSupportใหม่สนับสนุนค่าต่อไปนี้:
FunctionManagementHeaderSupport.Include
FunctionManagementHeaderSupport.Noneต่อไปนี้เป็นตัวอย่างของวิธีการใช้คลาสSessionConnectionLU0เพื่อระบุชื่อผิด LU โฮสต์ Code Page และ การปิดใช้งานการแยกวิเคราะห์ส่วนหัว FM:
SessionConnectionLU0 _connection = SessionConnectionLU0() ใหม่
_connection.LogicalUnitName = LUName.Text;
_connection HostCodePage = 37
_connection.FunctionManagementHeaderSupport.None;ถ้าไม่ได้ระบุคุณสมบัติFunctionManagementHeaderSupportลักษณะการทำงานค่าเริ่มต้นคือ ว่า ตัวรวมเซสชันวิเคราะห์หัว FM ในการตอบสนองใด ๆ ที่ได้รับจากแอพลิเคชันเมนเฟรม IBM FMH บิตถูกตั้งค่าเป็น1
ผลิตภัณฑ์ของบริษัทอื่นที่กล่าวถึงในบทความนี้ผลิตขึ้น โดยบริษัทที่ไม่ขึ้นอยู่กับ Microsoft ไมโครซอฟท์ไม่รับประกัน ทั้งโดยนัย หรืออย่างอื่น ใด เกี่ยวกับประสิทธิภาพหรือความน่าเชื่อถือของผลิตภัณฑ์เหล่านี้