
(object Petal
    version    	42
    _written   	"Rose 4.5.8054a"
    charSet    	0)

(object Class_Category "soap"
    is_unit    	TRUE
    is_loaded  	TRUE
    quid       	"3A01CF0C01A2"
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "SOAPBinding"
	    quid       	"3A01D3B901AD"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AE09A3801AB"
		    supplier   	"Logical View::wsdl::ExtensibilityElement"
		    quidu      	"3AD5DBB602A9"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "transportURI"
		    quid       	"3A01D3DF01E4"
		    type       	"String")
		(object ClassAttribute "style"
		    quid       	"3A01D3F1029E"
		    type       	"String"))
	    language   	"Java")
	(object Class "SOAPBody"
	    quid       	"3A01DED5031F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AE09A450041"
		    supplier   	"Logical View::wsdl::ExtensibilityElement"
		    quidu      	"3AD5DBB602A9"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "use"
		    quid       	"3A01E2D501A5"
		    type       	"String")
		(object ClassAttribute "namespaceURI"
		    quid       	"3A93477C01B2"
		    type       	"String")
		(object ClassAttribute "encodingStyles"
		    quid       	"3EE4A4DB0072"
		    stereotype 	"0..*"
		    type       	"IString"))
	    language   	"Java")
	(object Class "SOAPHeaderBase"
	    quid       	"3A01DEE7034D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AE09A3E0326"
		    supplier   	"Logical View::wsdl::ExtensibilityElement"
		    quidu      	"3AD5DBB602A9"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "use"
		    quid       	"3AD62E9C0056"
		    type       	"String")
		(object ClassAttribute "namespaceURI"
		    quid       	"3AD62EA2025D"
		    type       	"String")
		(object ClassAttribute "encodingStyles"
		    quid       	"3EE4A58F01AE"
		    stereotype 	"0..*"
		    type       	"IString"))
	    language   	"Java")
	(object Class "SOAPFault"
	    quid       	"3A06D9FA00F7"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AE09A4A0020"
		    supplier   	"Logical View::wsdl::ExtensibilityElement"
		    quidu      	"3AD5DBB602A9"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "use"
		    quid       	"3A09821A012B"
		    type       	"String")
		(object ClassAttribute "namespaceURI"
		    quid       	"3AD6204803AE"
		    type       	"String")
		(object ClassAttribute "encodingStyles"
		    quid       	"3EE4A56303AF"
		    stereotype 	"0..*"
		    type       	"IString"))
	    language   	"Java")
	(object Class "SOAPOperation"
	    quid       	"3A0AD45500E8"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AE09A4E031F"
		    supplier   	"Logical View::wsdl::ExtensibilityElement"
		    quidu      	"3AD5DBB602A9"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "soapActionURI"
		    quid       	"3A0AD464004A"
		    type       	"String")
		(object ClassAttribute "style"
		    quid       	"3A0AD46C018C"
		    type       	"String"))
	    language   	"Java")
	(object Class "SOAPAddress"
	    quid       	"3AD1FF750287"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AE095350098"
		    supplier   	"Logical View::wsdl::ExtensibilityElement"
		    quidu      	"3AD5DBB602A9"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "locationURI"
		    quid       	"3AD211C9025C"
		    type       	"String"))
	    language   	"Java")
	(object Class "SOAPHeaderFault"
	    quid       	"3AD632B803DD"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD633340038"
		    supplier   	"Logical View::soap::SOAPHeaderBase"
		    quidu      	"3A01DEE7034D"))
	    language   	"Java")
	(object Class "SOAPHeader"
	    quid       	"3AD63309016D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3AD63330017D"
		    supplier   	"Logical View::soap::SOAPHeaderBase"
		    quidu      	"3A01DEE7034D"))
	    language   	"Java")
	(object Class "IString"
	    quid       	"3B8DD90C0220"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.lang.String"
		    quid       	"3B8DD9320383"
		    stereotype 	"javaclass")))
	(object Association "$UNNAMED$0"
	    quid       	"3A06E0B50036"
	    roles      	(list role_list
		(object Role "$UNNAMED$1"
		    quid       	"3A06E0B600C4"
		    supplier   	"Logical View::soap::SOAPBody"
		    quidu      	"3A01DED5031F")
		(object Role "parts"
		    quid       	"3A06E0B600C5"
		    label      	"parts"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$2"
	    quid       	"3AD62DE60130"
	    roles      	(list role_list
		(object Role "message"
		    quid       	"3AD62DE7004B"
		    label      	"message"
		    supplier   	"Logical View::wsdl::Message"
		    quidu      	"3AD5C9590078"
		    client_cardinality 	(value cardinality "1..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$3"
		    quid       	"3AD62DE70055"
		    supplier   	"Logical View::soap::SOAPHeaderBase"
		    quidu      	"3A01DEE7034D")))
	(object Association "$UNNAMED$4"
	    quid       	"3AD62DF802D1"
	    roles      	(list role_list
		(object Role "part"
		    quid       	"3AD62DFA0002"
		    label      	"part"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E"
		    client_cardinality 	(value cardinality "1..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$5"
		    quid       	"3AD62DFA0003"
		    supplier   	"Logical View::soap::SOAPHeaderBase"
		    quidu      	"3A01DEE7034D")))
	(object Association "$UNNAMED$6"
	    quid       	"3AD6333701CD"
	    roles      	(list role_list
		(object Role "$UNNAMED$7"
		    quid       	"3AD633370372"
		    supplier   	"Logical View::soap::SOAPHeader"
		    quidu      	"3AD63309016D"
		    is_aggregate 	TRUE)
		(object Role "headerFaults"
		    quid       	"3AD633370373"
		    label      	"headerFaults"
		    supplier   	"Logical View::soap::SOAPHeaderFault"
		    quidu      	"3AD632B803DD"
		    client_cardinality 	(value cardinality "0..n")
		    Constraints 	"ordered"
		    Containment 	"By Value"
		    is_navigable 	TRUE))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "Binding"
	    quid       	"3A01CF23029F"
	    title      	"Binding"
	    zoom       	87
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	324
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::soap::SOAPBinding" @1
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(272, 208)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(55, 100)
			fill_color 	13434879
			nlines     	1
			max_width  	434
			justify    	0
			label      	"SOAPBinding")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A01D3B901AD"
		    width      	452
		    height     	240
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::soap::SOAPOperation" @2
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1040, 208)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(803, 100)
			fill_color 	13434879
			nlines     	1
			max_width  	474
			justify    	0
			label      	"SOAPOperation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0AD45500E8"
		    width      	492
		    height     	240
		    annotation 	8)
		(object ClassView "Class" "Logical View::soap::SOAPHeader" @3
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(560, 960)
		    label      	(object ItemLabel
			Parent_View 	@3
			location   	(395, 907)
			fill_color 	13434879
			nlines     	1
			max_width  	330
			justify    	0
			label      	"SOAPHeader")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD63309016D"
		    width      	348
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::soap::SOAPHeaderFault" @4
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1360, 960)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(1142, 907)
			fill_color 	13434879
			nlines     	1
			max_width  	436
			justify    	0
			label      	"SOAPHeaderFault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD632B803DD"
		    width      	454
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$6" @5
		    location   	(933, 961)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD6333701CD"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$7" @6
			    Parent_View 	@5
			    location   	(277, -543)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD633370372"
			    client     	@5
			    supplier   	@3
			    line_style 	3
			    origin_attachment 	(933, 961)
			    terminal_attachment 	(734, 961))
			(object RoleView "headerFaults" @7
			    Parent_View 	@5
			    location   	(277, -543)
			    label      	(object SegLabel @8
				Parent_View 	@7
				location   	(928, 921)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	346
				justify    	0
				label      	"+headerFaults"
				pctDist    	-0.030702
				height     	41
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD633370373"
			    client     	@5
			    supplier   	@4
			    line_style 	3
			    origin_attachment 	(933, 961)
			    terminal_attachment 	(1133, 961)
			    label      	(object SegLabel @9
				Parent_View 	@7
				location   	(1080, 924)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.736842
				height     	38
				orientation 	0)
			    label      	(object SegLabel @10
				Parent_View 	@7
				location   	(1056, 999)
				anchor     	3
				anchor_loc 	1
				nlines     	1
				max_width  	151
				justify    	0
				label      	"{ordered}"
				pctDist    	0.614035
				height     	38
				orientation 	1))))
		(object ClassView "Class" "Logical View::wsdl::Message" @11
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1824, 496)
		    label      	(object ItemLabel
			Parent_View 	@11
			location   	(1701, 419)
			fill_color 	13434879
			nlines     	1
			max_width  	246
			justify    	0
			label      	"Message")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C9590078"
		    width      	264
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::soap::SOAPHeaderBase" @12
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1040, 528)
		    label      	(object ItemLabel
			Parent_View 	@12
			location   	(794, 420)
			fill_color 	13434879
			nlines     	1
			max_width  	492
			justify    	0
			label      	"SOAPHeaderBase")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A01DEE7034D"
		    width      	510
		    height     	240
		    annotation 	8)
		(object AssociationViewNew "$UNNAMED$2" @13
		    location   	(1493, 485)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD62DE60130"
		    roleview_list 	(list RoleViews
			(object RoleView "message" @14
			    Parent_View 	@13
			    location   	(341, -683)
			    label      	(object SegLabel @15
				Parent_View 	@14
				location   	(1574, 515)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	256
				justify    	0
				label      	"+message"
				pctDist    	0.412322
				height     	30
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD62DE7004B"
			    client     	@13
			    supplier   	@11
			    line_style 	3
			    origin_attachment 	(1493, 485)
			    terminal_attachment 	(1692, 485)
			    label      	(object SegLabel @16
				Parent_View 	@14
				location   	(1630, 448)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.687204
				height     	38
				orientation 	0))
			(object RoleView "$UNNAMED$3" @17
			    Parent_View 	@13
			    location   	(341, -683)
			    label      	(object SegLabel @18
				Parent_View 	@17
				location   	(1420, 525)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	192
				justify    	0
				label      	""
				pctDist    	0.372254
				height     	40
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD62DE70055"
			    client     	@13
			    supplier   	@12
			    line_style 	3
			    origin_attachment 	(1493, 485)
			    terminal_attachment 	(1295, 485))))
		(object ClassView "Class" "Logical View::soap::SOAPBody" @19
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1040, 1344)
		    label      	(object ItemLabel
			Parent_View 	@19
			location   	(794, 1236)
			fill_color 	13434879
			nlines     	1
			max_width  	492
			justify    	0
			label      	"SOAPBody")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A01DED5031F"
		    width      	510
		    height     	240
		    annotation 	8)
		(object ClassView "Class" "Logical View::wsdl::Part" @20
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1824, 1200)
		    label      	(object ItemLabel
			Parent_View 	@20
			location   	(1628, 956)
			fill_color 	13434879
			nlines     	1
			max_width  	392
			justify    	0
			label      	"Part")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5CE1C032E"
		    width      	410
		    height     	512
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$4" @21
		    location   	(1590, 704)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD62DF802D1"
		    roleview_list 	(list RoleViews
			(object RoleView "part" @22
			    Parent_View 	@21
			    location   	(438, -464)
			    label      	(object SegLabel @23
				Parent_View 	@22
				location   	(1917, 886)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	120
				justify    	0
				label      	"+part"
				pctDist    	0.881465
				height     	90
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD62DFA0002"
			    client     	@21
			    supplier   	@20
			    vertices   	(list Points
				(1590, 704)
				(1827, 704)
				(1827, 944))
			    line_style 	3
			    origin_attachment 	(1590, 704)
			    terminal_attachment 	(1827, 944)
			    label      	(object SegLabel @24
				Parent_View 	@22
				location   	(1774, 886)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.881465
				height     	54
				orientation 	1))
			(object RoleView "$UNNAMED$5" @25
			    Parent_View 	@21
			    location   	(438, -464)
			    label      	(object SegLabel @26
				Parent_View 	@25
				location   	(1209, 746)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	120
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD62DFA0003"
			    client     	@21
			    supplier   	@12
			    vertices   	(list Points
				(1590, 704)
				(1170, 704)
				(1170, 648))
			    line_style 	3
			    origin_attachment 	(1590, 704)
			    terminal_attachment 	(1170, 648))))
		(object AssociationViewNew "$UNNAMED$0" @27
		    location   	(1457, 1390)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3A06E0B50036"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$1" @28
			    Parent_View 	@27
			    location   	(225, -914)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3A06E0B600C4"
			    client     	@27
			    supplier   	@19
			    line_style 	3
			    origin_attachment 	(1457, 1390)
			    terminal_attachment 	(1295, 1390))
			(object RoleView "parts" @29
			    Parent_View 	@27
			    location   	(225, -914)
			    label      	(object SegLabel @30
				Parent_View 	@29
				location   	(1591, 1494)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	159
				justify    	0
				label      	"+parts"
				pctDist    	0.833856
				height     	104
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3A06E0B600C5"
			    client     	@27
			    supplier   	@20
			    line_style 	3
			    origin_attachment 	(1457, 1390)
			    terminal_attachment 	(1619, 1390)
			    label      	(object SegLabel @31
				Parent_View 	@29
				location   	(1591, 1344)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.833856
				height     	47
				orientation 	0))))
		(object ClassView "Class" "Logical View::soap::SOAPFault" @32
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1040, 1648)
		    label      	(object ItemLabel
			Parent_View 	@32
			location   	(794, 1540)
			fill_color 	13434879
			nlines     	1
			max_width  	492
			justify    	0
			label      	"SOAPFault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A06D9FA00F7"
		    width      	510
		    height     	240
		    annotation 	8)
		(object ClassView "Class" "Logical View::soap::IString" @33
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 1360)
		    label      	(object ItemLabel
			Parent_View 	@33
			location   	(66, 1332)
			fill_color 	13434879
			nlines     	1
			max_width  	348
			justify    	0
			label      	"IString")
		    stereotype 	(object ItemLabel
			Parent_View 	@33
			location   	(66, 1282)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	348
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B8DD90C0220"
		    width      	366
		    height     	180
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @34
		    location   	(1040, 750)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@12
		    vertices   	(list Points
			(1040, 750)
			(1040, 648)))
		(object InheritView "" @35
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD63330017D"
		    client     	@3
		    supplier   	@12
		    line_style 	3
		    origin_attachment 	(645, 895)
		    terminal_attachment 	(645, 750)
		    drawSupplier 	@34)
		(object InheritView "" @36
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD633340038"
		    client     	@4
		    supplier   	@12
		    line_style 	3
		    origin_attachment 	(1316, 895)
		    terminal_attachment 	(1316, 750)
		    drawSupplier 	@34)))
	(object ClassDiagram "Port"
	    quid       	"3A085E30035C"
	    title      	"Port"
	    zoom       	90
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::soap::SOAPAddress" @37
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 320)
		    label      	(object ItemLabel
			Parent_View 	@37
			location   	(151, 239)
			fill_color 	13434879
			nlines     	1
			max_width  	402
			justify    	0
			label      	"SOAPAddress")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD1FF750287"
		    width      	420
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)))
	(object ClassDiagram "Extensibility"
	    quid       	"3AE099B10161"
	    title      	"Extensibility"
	    zoom       	90
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::soap::SOAPAddress" @38
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1520, 576)
		    label      	(object ItemLabel
			Parent_View 	@38
			location   	(1371, 527)
			fill_color 	13434879
			nlines     	1
			max_width  	298
			justify    	0
			label      	"SOAPAddress")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD1FF750287"
		    width      	316
		    height     	122
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::soap::SOAPBinding" @39
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 592)
		    label      	(object ItemLabel
			Parent_View 	@39
			location   	(162, 543)
			fill_color 	13434879
			nlines     	1
			max_width  	284
			justify    	0
			label      	"SOAPBinding")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A01D3B901AD"
		    width      	302
		    height     	122
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::soap::SOAPBody" @40
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1072, 1104)
		    label      	(object ItemLabel
			Parent_View 	@40
			location   	(950, 1055)
			fill_color 	13434879
			nlines     	1
			max_width  	244
			justify    	0
			label      	"SOAPBody")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A01DED5031F"
		    width      	262
		    height     	122
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::soap::SOAPFault" @41
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1232, 1264)
		    label      	(object ItemLabel
			Parent_View 	@41
			location   	(1112, 1215)
			fill_color 	13434879
			nlines     	1
			max_width  	240
			justify    	0
			label      	"SOAPFault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A06D9FA00F7"
		    width      	258
		    height     	122
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::soap::SOAPOperation" @42
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(512, 752)
		    label      	(object ItemLabel
			Parent_View 	@42
			location   	(344, 703)
			fill_color 	13434879
			nlines     	1
			max_width  	336
			justify    	0
			label      	"SOAPOperation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A0AD45500E8"
		    width      	354
		    height     	122
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::soap::SOAPHeaderBase" @43
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(816, 928)
		    label      	(object ItemLabel
			Parent_View 	@43
			location   	(627, 879)
			fill_color 	13434879
			nlines     	1
			max_width  	378
			justify    	0
			label      	"SOAPHeaderBase")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3A01DEE7034D"
		    width      	396
		    height     	122
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @44
		    ShowCompartmentStereotypes 	TRUE
		    location   	(608, 128)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@44
			location   	(408, 53)
			fill_color 	13434879
			nlines     	1
			max_width  	400
			justify    	0
			label      	"ExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5DBB602A9"
		    width      	418
		    height     	174
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @45
		    location   	(608, 305)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@44
		    vertices   	(list Points
			(608, 305)
			(608, 215)))
		(object InheritView "" @46
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE09A3801AB"
		    client     	@39
		    supplier   	@44
		    line_style 	3
		    origin_attachment 	(344, 531)
		    terminal_attachment 	(344, 305)
		    drawSupplier 	@45)
		(object InheritView "" @47
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE09A3E0326"
		    client     	@43
		    supplier   	@44
		    line_style 	3
		    origin_attachment 	(815, 867)
		    terminal_attachment 	(815, 305)
		    drawSupplier 	@45)
		(object InheritView "" @48
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE09A450041"
		    client     	@40
		    supplier   	@44
		    line_style 	3
		    origin_attachment 	(1068, 1043)
		    terminal_attachment 	(1068, 305)
		    drawSupplier 	@45)
		(object InheritView "" @49
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE09A4E031F"
		    client     	@42
		    supplier   	@44
		    line_style 	3
		    origin_attachment 	(506, 691)
		    terminal_attachment 	(506, 305)
		    drawSupplier 	@45)
		(object InheritView "" @50
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE09A4A0020"
		    client     	@41
		    supplier   	@44
		    line_style 	3
		    origin_attachment 	(1231, 1203)
		    terminal_attachment 	(1231, 305)
		    drawSupplier 	@45)
		(object InheritView "" @51
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE095350098"
		    client     	@38
		    supplier   	@44
		    line_style 	3
		    origin_attachment 	(1520, 515)
		    terminal_attachment 	(1520, 305)
		    drawSupplier 	@45)))))
