Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator')
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java50
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java222
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java52
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java68
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java96
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java54
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java55
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java66
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java154
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java1837
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java705
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java75
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java118
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java426
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java167
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java64
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java277
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java313
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java203
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java102
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java108
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java152
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java126
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java103
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java277
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java77
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java104
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java147
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java302
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java88
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java147
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java165
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java141
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java142
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java198
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java181
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java132
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java114
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java98
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java97
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java124
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java113
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java183
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java267
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java73
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java110
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java167
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java226
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java132
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java114
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java107
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java56
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java126
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java59
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java124
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java136
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java153
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java133
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java210
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java91
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java80
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java257
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java103
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java348
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java72
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java264
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java73
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java64
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java53
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java51
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java101
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java137
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java73
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java69
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java126
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java86
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java80
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java93
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java150
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java126
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java87
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java95
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java77
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java66
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java57
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java228
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java80
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java67
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java150
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java110
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java415
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java103
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java104
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java111
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java162
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java204
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java28
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java160
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java81
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java84
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java590
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java290
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java119
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java165
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java155
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java115
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java146
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java241
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java47
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java216
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java52
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java297
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java215
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java230
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java228
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java136
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java450
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java341
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java234
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java194
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java119
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java341
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java123
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java91
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java286
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java142
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java127
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java122
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java162
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java112
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java82
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java85
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java86
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java94
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java69
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java116
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java203
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java130
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java100
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java232
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java200
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java94
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java98
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java142
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java203
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java159
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java278
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java97
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java88
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java183
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java98
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java165
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java247
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java174
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java95
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java357
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java189
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java420
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java72
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java69
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java76
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java166
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java209
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java160
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java82
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java89
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java111
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java87
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java162
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java144
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java131
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java29
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java191
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java2314
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java157
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java171
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java26
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java26
274 files changed, 0 insertions, 33244 deletions
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java
deleted file mode 100644
index 7289ed0ee..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/BaseValidator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.w3c.dom.Document;
-
-/**
- * The base interface for the profile validator.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public interface BaseValidator
-{
- /**
- * Set all test assertions for an artifact to missingInput.
- * @throws WSIException if there is any problems while processing.
- */
- public void setAllMissingInput() throws WSIException;
-
- /**
- * Cleanup after processing all of the test assertions for an artifact.
- * @throws WSIException if there is any problems during cleanup.
- */
- public void cleanup() throws WSIException;
-
- /**
- * Parse XML document and validate with a schema document.
- * @param urlString XML document location.
- * @param baseURI a base url to assist in locating the XML document.
- * @param schema the related XML schema.
- * @return XML document.
- * @throws WSIException if there are any problems while parsing or
- * validating the XML document.
- */
- public Document parseXMLDocumentURL(
- String urlString,
- String baseURI,
- String schema)
- throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java
deleted file mode 100644
index 08bb99adf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EntryContext.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-
-/**
- * This class contains the target information needed by a test assertion.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public class EntryContext
-{
- protected Entry entry = null;
-
- protected MessageEntry request = null;
- protected MessageEntry response = null;
- protected MessageEntry messageEntry = null;
-
- protected Document requestDocument = null;
- protected Document responseDocument = null;
- protected Document messageEntryDocument = null;
-
- protected WSDLDocument wsdlDocument = null;
-
- protected AnalyzerContext analyzerContext = null;
-
- /**
- * Create entry context.
- * @param entry a message entry.
- * @param request the request.
- * @param response the response.
- */
- public EntryContext(Entry entry, MessageEntry request, MessageEntry response)
- {
- this(entry, request, response, null);
- }
-
- /**
- * Create entry context.
- * @param entry a message entry.
- * @param request the request.
- * @param response the response.
- * @param analyzerContext the analyzerContext.
- */
- public EntryContext(
- Entry entry,
- MessageEntry request,
- MessageEntry response,
- AnalyzerContext analyzerContext)
- {
- this.entry = entry;
- this.request = request;
- this.response = response;
- this.analyzerContext = analyzerContext;
-
- try
- {
- // Parse all documents
- if(request.isMimeContent())
- {
- MimePart part = request.getMimeParts().getRootPart();
- if ((part != null) && (part.getContent().length() > 0))
- requestDocument = XMLUtils.parseXML(part.getContent());
- }
- else
- {
- if (request.getMessage().length() > 0)
- requestDocument = XMLUtils.parseXML(request.getMessage());
- }
-
- if(response.isMimeContent())
- {
- MimePart part = response.getMimeParts().getRootPart();
- if ((part != null) && (part.getContent().length() > 0))
- responseDocument = XMLUtils.parseXML(part.getContent());
- }
- else
- {
- if (response.getMessage().length() > 0)
- responseDocument = XMLUtils.parseXML(response.getMessage());
- }
- }
-
- catch (WSIException we)
- {
- }
-
- // need some exception handling in here and more careful checking
- if (entry.getEntryType().equals(EntryType.ENTRY_TYPE_REQUEST))
- {
- this.messageEntry = request;
- this.messageEntryDocument = requestDocument;
- }
- else
- {
- this.messageEntry = response;
- this.messageEntryDocument = responseDocument;
- }
- }
-
- /**
- * Create entry context.
- * @param entry a message entry.
- * @param wsdlDocument a WSDL document.
- */
- public EntryContext(Entry entry, WSDLDocument wsdlDocument)
- {
- this.entry = entry;
- this.wsdlDocument = wsdlDocument;
- }
-
- /**
- * Create entry context.
- * @param entry a message entry.
- * @param analyzerContext the analyzerContext.
- */
- public EntryContext(Entry entry, AnalyzerContext analyzerContext)
- {
- this.entry = entry;
- this.analyzerContext = analyzerContext;
- }
-
- /**
- * Returns the entry.
- * @return the entry.
- */
- public Entry getEntry()
- {
- return this.entry;
- }
-
- /**
- * Returns the request.
- * @return the request.
- */
- public MessageEntry getRequest()
- {
- return request;
- }
-
- /**
- * Returns the response.
- * @return the response.
- */
- public MessageEntry getResponse()
- {
- return response;
- }
-
- /**
- * Returns the log entry which is not null.
- * @return the log entry.
- */
- public MessageEntry getMessageEntry()
- {
- return messageEntry;
- }
-
- /**
- * Returns the request.
- * @return MessageEntry
- */
- public Document getRequestDocument()
- {
- return requestDocument;
- }
-
- /**
- * Returns the response.
- * @return the response.
- */
- public Document getResponseDocument()
- {
- return responseDocument;
- }
-
- /**
- * Returns the log entry which is not null.
- * @return the log entry.
- */
- public Document getMessageEntryDocument()
- {
- return messageEntryDocument;
- }
-
- /**
- * Returns the WSDL document.
- * @return the WSDL document.
- */
- public WSDLDocument getWSDLDocument()
- {
- return wsdlDocument;
- }
-
- /**
- * Returns analyzerContext.
- * @return analyzerContext
- */
- public AnalyzerContext getAnalyzerContext()
- {
- return this.analyzerContext;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java
deleted file mode 100644
index 4b1f3c984..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/EnvelopeValidator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-
-/**
- * Interface definition for envelope validation test procedure.
- *
- * @version 1.0
- */
-public interface EnvelopeValidator extends BaseValidator
-{
-
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param artifact an profile artifact.
- * @param reportArtifact the report artifact.
- * @param wsdlDocument the Web service definition
- * @param reporter the reporter which is used to add errors to the conformance report
- * @throws WSIException if message validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact artifact,
- ReportArtifact reportArtifact,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException;
-
- /**
- * Validate the envelope located by the log entry.
- * @param entryContext a log entry locating an envelope.
- * @throws WSIException if an unexpected error occurred while
- * processing the log entry.
- */
- public void validate(EntryContext entryContext) throws WSIException;
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java
deleted file mode 100644
index 13618a343..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/MessageValidator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-
-/**
- * Interface definition for message validation test procedure.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public interface MessageValidator extends BaseValidator
-{
- /**
- * HTTP 1.0 version indicator.
- */
- public static final String HTTP_VERSION_1_0 = "HTTP/1.0";
-
- /**
- * HTTP 1.1 version indicator.
- */
- public static final String HTTP_VERSION_1_1 = "HTTP/1.1";
-
- /**
- * HTTP POST message indicator.
- */
- public static final String HTTP_POST = "POST";
-
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param artifact an profile artifact.
- * @param reportArtifact the report artifact.
- * @param wsdlDocument the Web service definition
- * @param reporter the reporter which is used to add errors to the conformance report
- * @throws WSIException if message validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact artifact,
- ReportArtifact reportArtifact,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException;
-
- /**
- * Validate the message located by the log entry.
- * @param entryContext a log entry locating a message.
- * @throws WSIException if an unexpected error occurred while
- * processing the log entry.
- */
- public void validate(EntryContext entryContext) throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java
deleted file mode 100644
index 3a19394b7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/ProfileValidatorFactory.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.util.WSIProperties;
-
-/**
-* This class is used to access an implementation of a ProfileValidatorFactory abstract class.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public abstract class ProfileValidatorFactory
-{
- /**
- * Create a new instance of a UDDI validator.
- * @return an object that implements the WSDLValidator interface.
- * @throws WSIException if UDDI validator cannot be instantiated.
- */
- public abstract UDDIValidator newUDDIValidator() throws WSIException;
-
- /**
- * Create a new instance of a WSDL validator.
- * @return an object that implements the WSDLValidator interface.
- * @throws WSIException if WSDL validator cannot be instantiated.
- */
- public abstract WSDLValidator newWSDLValidator() throws WSIException;
-
- /**
- * Create a new instance of a message validator.
- * NOTE: Do we need to differentiate between the tranport and SOAP
- * message validator?
- *
- * @return an object that implements the MessageValidator interface.
- * @throws WSIException if message validatorcannot be instantiated.
- */
- public abstract MessageValidator newMessageValidator() throws WSIException;
-
- /**
- * Create a new instance of an envelope validator.
- * @return an object that implements the EnvelopeValidator interface.
- * @throws WSIException if message validator cannot be instantiated.
- */
- public abstract EnvelopeValidator newEnvelopeValidator() throws WSIException;
-
- /**
- * Instantiate the implementation of the ProfileValidatorFactory class.
- * The implementation class for this interface is specified in the following
- * Java system property:
- * <UL>
- * <LI>wsi.profile.validator.factory
- * </UL>
- *
- * @return the ProfileValidatorFactory object.
- * @throws WSIException if factory class cannot be instantiated.
- */
- public static ProfileValidatorFactory newInstance() throws WSIException
- {
- ProfileValidatorFactory factory = null;
- String factoryClassName = null;
-
- try
- {
- // Get factory class name
- factoryClassName =
- WSIProperties.getProperty(
- WSIProperties.PROP_VALIDATOR_FACTORY,
- WSIProperties.DEF_VALIDATOR_FACTORY);
-
- // Create the factory class
- Class factoryClass = Class.forName(factoryClassName);
-
- // Instantiate the factory
- factory = (ProfileValidatorFactory) factoryClass.newInstance();
- }
-
- catch (Exception e)
- {
- throw new WSIException(
- "Could not instantiate factory class: " + factoryClassName + ".",
- e);
- }
-
- // Return factory
- return factory;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java
deleted file mode 100644
index af1836390..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/UDDIValidator.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public interface UDDIValidator extends BaseValidator
-{
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param artifact an profile artifact.
- * @param reportArtifact the report artifact.
- * @param uddiReference a UDDI reference.
- * @param reporter a Reporter object.
- * @throws WSIException if UDDI validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact artifact,
- ReportArtifact reportArtifact,
- UDDIReference uddiReference,
- Reporter reporter)
- throws WSIException;
-
- /**
- * Validate the UDDI based service description.
- * @return If the UDDI entries are valid, then the value returned
- * is the URL for the WSDL document.
- * @throws WSIException WSIException if an unexpected error occurred
- * while processing the UDDIentries.
- */
- public String validate() throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java
deleted file mode 100644
index e42bd2c13..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/WSDLValidator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham
- */
-public interface WSDLValidator extends BaseValidator
-{
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param artifact the profile artifact.
- * @param reportArtifact the report artifact.
- * @param wsdlURL the WSDL document location.
- * @param wsdlDocument the WSDL document.
- * @param reporter a Reporter object.
- * @throws WSIException if WSDL validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact artifact,
- ReportArtifact reportArtifact,
- String wsdlURL,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException;
-
- /**
- * Validate the WSDL based service description.
- * @return the WSDL document.
- * @throws WSIException if an unexpected error occurred
- * while validating he WSDL based service description.
- */
- public WSDLDocument validate() throws WSIException;
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java
deleted file mode 100644
index 23a3d2c3a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcess.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-
-
-/**
- * Process assertion.
- */
-public abstract class AssertionProcess
-{
- protected String result;
- protected String failureDetailMessage;
- protected FailureDetail failureDetail;
- private final BaseValidatorImpl base_validator;
-
- /**
- * @param BaseValidatorImpl
- */
- public AssertionProcess(BaseValidatorImpl impl)
- {
- this.base_validator = impl;
- }
-
- /**
- * Create assertion result.
- */
- void reset()
- {
- result = AssertionResult.RESULT_PASSED;
- failureDetailMessage = null;
- failureDetail = null;
- }
-
- /**
- * Validate assertion.
- */
- public abstract AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext targetContext)
- throws WSIException;
-
- /**
- * Verbose output.
- */
- public void debug(String message)
- {
- if ((base_validator != null) && base_validator.verboseOption)
- {
- System.err.println(message);
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java
deleted file mode 100644
index 4ccceed0b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/AssertionProcessVisitor.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLVisitor;
-import org.w3c.dom.Element;
-
-
-/**
- * Process assertion using WSDLVisitor interface.
- */
-public abstract class AssertionProcessVisitor
- extends AssertionProcess
- implements WSDLVisitor
-{
- /**
- * @param BaseValidatorImpl
- */
- public AssertionProcessVisitor(BaseValidatorImpl impl)
- {
- super(impl);
- }
-
- public void visit(Part obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Service obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Types obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Operation obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Input obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Output obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Fault obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Binding obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(
- BindingOperation obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(
- BindingInput obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(
- BindingOutput obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(
- BindingFault obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(Import obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Element obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Message obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Port obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(PortType obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(Definition obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(
- ExtensibilityElement obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(SOAPBinding obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(SOAPBody obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(SOAPHeader obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(
- SOAPHeaderFault obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
- public void visit(SOAPFault obj, Object parent, WSDLTraversalContext ctx)
- {
- }
- public void visit(
- SOAPOperation obj,
- Object parent,
- WSDLTraversalContext ctx)
- {
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java
deleted file mode 100644
index 7672745aa..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseMessageValidator.java
+++ /dev/null
@@ -1,1837 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- * Parasoft - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.Service;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.util.URI;
-import org.apache.xerces.xs.XSConstants;
-import org.apache.xerces.xs.XSModel;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.CandidateInfo;
-import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.AnalyzerConfig;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl.WSDLValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import com.ibm.wsdl.Constants;
-import com.ibm.wsdl.util.xml.DOM2Writer;
-import com.ibm.wsdl.util.xml.DOMUtils;
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Jim Clune
- * @author Graham Turrell (gturrell@uk.ibm.com)
- * @author Neil Delima (nddelima@ca.ibm.com)
- */
-public abstract class BaseMessageValidator
- extends BaseValidatorImpl
-{
- /**
- * WSDL document.
- */
- private WSDLDocument wsdlDocument;
-
- /**
- * Log entry.
- */
- protected MessageEntry logEntry;
- protected Log log;
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.MessageValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, org.wsi.wsdl.WSDLDocument, org.wsi.test.report.Reporter)
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact profileArtifact,
- ReportArtifact reportArtifact,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException
- {
- // BaseValidatorImpl
- super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
-
- // Save input references
- this.wsdlDocument = wsdlDocument;
- }
-
- /**
- * Returns wsdlDocument
- * @return wsdlDocument
- */
- public WSDLDocument getWSDLDocument()
- {
- return wsdlDocument;
- }
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.MessageValidator#validate(org.wsi.test.profile.validator.EntryContext)
- */
- public void validate(EntryContext entryContext) throws WSIException
- {
- //Entry entry = null;
-
- // Save log entry to be referenced by other methods
- this.logEntry = entryContext.getMessageEntry();
-
- // Get reference to the analyzer config object
- AnalyzerConfig analyzerConfig =
- reporter.getReport().getReportContext().getAnalyzer().getAnalyzerConfig();
-
- /* If Service Description (WSDL/UDDI) NOT supplied in analyzer config OR
- * Service Description IS supplied and the current message correlates to it...
- */
- if ((wsdlDocument == null)
- || messageCorrelatesToService(
- entryContext,
- analyzerConfig.getCorrelationType()))
- {
- // now inner classes moved out from the validator
- //String classPrefix = this.getClass().getName() + "$";
- String classPrefix = this.getClass().getPackage().getName()+".";
-
- // Process assertions for this artifact against the target context
- processAssertions(classPrefix, entryContext);
- }
- }
-
- /**
- * Check whether the message correlates to the service under test.
- * Use the request part of the request-response pair, from which the correlation of the response is implied.
- * Entities from the Service under test are determined once for all.
- * @param entryContext an entry context.
- * @param correlationType a correlation type.
- * @return true if the message correlates to the service under test.
- * @throws WSIException if correlation type is not appropriate.
- */
- private boolean messageCorrelatesToService(
- EntryContext entryContext,
- String correlationType)
- throws WSIException
- {
-
- URI[] endpoints = null;
- boolean correlation = false;
-
- /* TEMP: Get it from analyzer config passed in on init method
- CandidateInfo candidate = entryContext
- .getAnalyzerContext()
- .getCandidateInfo();
- */
- CandidateInfo candidate = analyzerContext.getCandidateInfo();
-
- // Service reference
- ServiceReference serviceReference = analyzerContext.getServiceReference();
-
- // Get the definition element
- Definition definition = candidate.getWsdlDocument().getDefinitions();
-
- Binding binding = null;
- if (serviceReference.getWSDLElement().isPort())
- {
- // Get service
- Service service =
- definition.getService(
- serviceReference.getWSDLElement().getParentElementQName());
-
- // Get port
- Port port = service.getPort(serviceReference.getWSDLElement().getName());
-
- // Get binding
- binding = port.getBinding();
- }
- else if (serviceReference.getWSDLElement().isBinding())
- {
- // Get binding
- binding =
- definition.getBinding(serviceReference.getWSDLElement().getQName());
- }
-
- if (binding == null)
- {
- return false;
- }
-
- if ((endpoints = hostAndPortCorrelation(entryContext)) != null
- && urlPathCorrelation(entryContext, endpoints))
- {
-
- /* If correlation type is "endpoint", this is all the correlation that can be done.
- * (Note - this is incomplete correlation since >1 service could be associated with the endpoint.
- * Therefore , if messages for different services on the same endpoint appear in the log file
- * and correlation type is "endpoint", all those messages will be analyzed).
- */
- if (correlationType
- .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_ENDPOINT))
- {
- correlation = true;
- }
- else
- {
- // always allow GET requests right through if they've passed Endpoint Correlation
- String requestType = getHttpRequestType(entryContext);
- if ((requestType != null) && requestType.equalsIgnoreCase("GET"))
- {
- correlation = true;
- }
- else
- {
- // The correlationType is not "endpoint" so continue on to processing for at least
- // "namespace" correlation...
-
- // get the operation signature (input & output) from request & response messages...
- // and do a quick DOM parse
- Document requestMessage = entryContext.getRequestDocument();
-
- // Check if namespace is found in request message only
- if (namespaceCorrelation(binding, requestMessage))
- {
- // If namespace found and the correlation type is namespace, then process messages
- if (correlationType
- .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_NAMESPACE))
- {
- correlation = true;
- }
-
- // If operation is found and correlation type is operation, then process messages
- else if (
- (operationCorrelation(binding, requestMessage))
- && (correlationType
- .equals(WSIConstants.ATTRVAL_CORRELATION_TYPE_OPERATION)))
- {
- correlation = true;
- }
- else
- {
- // this should never happen if config schema was followed correctly
- throw new WSIException(
- "Bad correlation type found in config: " + correlationType);
- }
- }
- }
- }
- }
-
- return correlation;
- }
-
- /**
- * Correlation Check 1: Service Description endpoint vs HTTP Header (test 1)
- * Check if receiverHostAndPort from request message log matches host & port from WSDL SOAP binding for
- * the Service under test.
- * If it does not, stop processing this message pair.
- * @param entryContext an entry context.
- * @return if receiverHostAndPort from request message log matches
- * host & port from WSDL SOAP binding for the Service.
- * @throws WSIException if problem occurs during correlation check.
- */
- private URI[] hostAndPortCorrelation(EntryContext entryContext)
- throws WSIException
- {
-
- // get <receiverHostAndPort> from request message
- String httpHostAndPort = entryContext.getRequest().getReceiverHostAndPort();
- // Search endpoint list for a match with <receiverHostAndPort>
-
- /* TEMP: Get it from analyzer config passed in on init method
- return entryContext.getAnalyzerContext()
- .getCandidateInfo()
- .getEndPoints(httpHostAndPort);
- */
- return analyzerContext.getCandidateInfo().getEndPoints(httpHostAndPort);
- }
-
- /**
- * Correlation Check 2: Service Description endpoint vs HTTP Header (test 2)
- *
- * Use analyzer config host & port, plus URL path (from request message header HTTP POST)
- * to look for the corresponding endpoint in the Service Definition.
- * If it does not, stop processing this message pair.
- * @param entryContext an entry context.
- * @param endpoints an array of endpoints.
- * @return true if corresponding endpoints are found in the Service Definition.
- * @throws WSIException if problem occurs during correlation check.
- */
- private boolean urlPathCorrelation(
- EntryContext entryContext,
- URI[] endpoints)
- throws WSIException
- {
-
- // compares: protocol (must be http for POST), host, port and path.
-
- // get POST URI path from message using Tokenizer
- Vector requestLine =
- getHttpRequest(entryContext.getRequest().getHTTPHeaders());
- if (requestLine == null)
- {
- return false; // an unexpected HTTP request type !
- }
-
- String requestPath = (String) requestLine.get(1);
- // Path immediately follows POST
-
- // compare path with those in the previous generated URI list
- Vector filteredEndpoints = new Vector();
- for (int i = 0; i < endpoints.length; i++)
- {
- if (endpoints[i].toString().endsWith(requestPath))
- {
- filteredEndpoints.add(endpoints[i]);
- }
- }
-
- if (filteredEndpoints.size() == 0)
- return false;
-
- // this URI should be unique in the WSDL - there should be at most one match
- // but if we have at least one, that's sufficient to accept the message
-
- return true;
- }
-
- /**
- * Correlation Check 3: Service Description namespace.
- *
- * Determine if the Service Description declares the namespace that appears in the (request?) message soap body.
- * Location of relevent namespace :
- * Operation type - Message Namespace: (compare with) Service Definition Namespace:
- * (from message? endpoint? where?)
- * rpc-literal &lt;soap:Body&gt; child namespace. &lt;soapbind:body&gt; namespace.
- * doc-literal &lt;soap:Body&gt; child namespace. targetNameSpace of schema that
- * defines &lt;soap:body&gt; child.
- * If it doesn't match, stop processing this message pair.
- * @param binding a binding.
- * @param request a request.
- * @return true if description declared in the description are the
- * same as those that appear in the message soap body.
- * @throws WSIException if problem occurs during correlationcheck.
- */
- private boolean namespaceCorrelation(Binding binding, Document request)
- throws WSIException
- {
- boolean namespaceFound = false;
- String bindingStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
-
- // Get operation namespace from the request soap message
- String soapOpNS = getSoapBodyChild(request).getNamespaceURI();
-
- // Get soapbind:binding
- SOAPBinding soapBinding = null;
- if ((soapBinding = WSDLUtils.getSoapBinding(binding)) != null)
- {
- bindingStyle = soapBinding.getStyle();
- }
-
- // Go through each operation in the binding and check for namespace match
- Iterator operations = binding.getBindingOperations().iterator();
- while (operations.hasNext() && !(namespaceFound))
- {
- BindingOperation bindingOperation = (BindingOperation) operations.next();
-
- // If rpc-literal, then look at namespace attribute on soapbind:body
- if (WSDLUtils.isRpcLiteral(bindingStyle, bindingOperation))
- {
- // Get soapbind:body element
- SOAPBody soapBody = WSDLUtils.getInputSoapBody(bindingOperation);
-
- if ((soapBody.getNamespaceURI() != null)
- && (soapBody.getNamespaceURI().equals(soapOpNS)))
- {
- namespaceFound = true;
- }
- }
-
- // If doc-literal, then check namespace
- else if (WSDLUtils.isDocLiteral(bindingStyle, bindingOperation))
- {
- int partCount;
- Iterator partsIterator = null;
-
- // Get first part name from soapbind:body element parts attribute
- String partName = getFirstPartName(bindingOperation);
-
- // Get the list of parts from the message
- Map partsMap = null;
- if ((partsMap =
- bindingOperation.getOperation().getInput().getMessage().getParts())
- != null)
- {
- partsIterator = partsMap.values().iterator();
-
- // If the part name wasn't specified on the soapbind:body element, then process just the first one
- if (partName == null)
- partCount = 1;
- else
- partCount = partsMap.size();
-
- for (int i = 0; i < partCount && !namespaceFound; i++)
- {
- // Get next part
- Part part = (Part) partsIterator.next();
-
- // If part name matches or there is no part name, then check namespace
- if ((partName == null)
- || ((partName != null) && (part.getName().equals(partName))))
- {
- if ((part.getElementName().getNamespaceURI() != null)
- && (part.getElementName().getNamespaceURI().equals(soapOpNS)))
- {
- namespaceFound = true;
- }
- }
- }
- }
- }
- }
-
- return namespaceFound;
- }
-
- /**
- * Correlation Check 4 : Service Description "operation"
- *
- * Check if the message content matches any of the candidate operation definitions
- * for request and response in the Service Description.
- *
- * For both request and response, look for the soap body child element name
- * in the list of candidate operation names.
- * @param binding a binding.
- * @param requestMessage a request message.
- * @return true if the message content matches any of the candidate
- * operation definitions for request and response in the
- * Service Description.
- * @throws WSIException if problem occurs during correlationcheck.
- */
- private boolean operationCorrelation(
- Binding binding,
- Document requestMessage)
- throws WSIException
- {
- boolean operationFound = false;
-
- String bindingStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
-
- // Get soapbind:binding
- SOAPBinding soapBinding = null;
- if ((soapBinding = WSDLUtils.getSoapBinding(binding)) != null)
- {
- bindingStyle = soapBinding.getStyle();
- }
-
- // Get the first child element from the soap body
- Element soapBodyChild = getSoapBodyChild(requestMessage);
-
- // If there is a child element, then check it
- if (soapBodyChild != null)
- {
- // Get operation name from the soap:body
- String operationName = soapBodyChild.getLocalName();
-
- // Get operation QName
- QName operationQName =
- new QName(soapBodyChild.getNamespaceURI(), operationName);
-
- // Go through each operation in the binding and check for namespace match
- Iterator operations = binding.getBindingOperations().iterator();
- while (operations.hasNext() && !(operationFound))
- {
- BindingOperation bindingOperation =
- (BindingOperation) operations.next();
-
- // If rpc-literal, then look at namespace attribute on soapbind:body
- if (WSDLUtils.isRpcLiteral(bindingStyle, bindingOperation))
- {
- // Get soapbind:body element
- if (bindingOperation.getName().equals(operationName))
- operationFound = true;
- }
-
- // If doc-literal, then check namespace
- else if (WSDLUtils.isDocLiteral(bindingStyle, bindingOperation))
- {
- int partCount;
- Iterator partsIterator = null;
-
- // Get first part name from soapbind:body element parts attribute
- String partName = getFirstPartName(bindingOperation);
-
- // Get the list of parts from the message
- Map partsMap = null;
- if ((partsMap =
- bindingOperation.getOperation().getInput().getMessage().getParts())
- != null)
- {
- partsIterator = partsMap.values().iterator();
-
- // If the part name wasn't specified on the soapbind:body element, then process just the first one
- if (partName == null)
- partCount = 1;
- else
- partCount = partsMap.size();
-
- for (int i = 0; i < partCount && !operationFound; i++)
- {
- // Get next part
- Part part = (Part) partsIterator.next();
-
- // If part name matches or there is no part name, then check namespace
- if ((partName == null)
- || ((partName != null) && (part.getName().equals(partName))))
- {
- if ((part.getElementName() != null)
- && (part.getElementName().equals(operationQName)))
- {
- operationFound = true;
- }
- }
- }
- }
- }
- }
- }
-
- // Go through each operation to find a match
- return operationFound;
- }
-
- /**
- * Create failure detail.
- * @param message a message.
- * @param entryContext an entry context.
- * @return failure detail.
- */
- public FailureDetail createFailureDetail(
- String message,
- EntryContext entryContext)
- {
- FailureDetail failureDetail = reporter.createFailureDetail();
- failureDetail.setFailureMessage(message);
- failureDetail.setElementLocation(
- entryContext.getMessageEntry().getElementLocation());
- return failureDetail;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
- */
- protected boolean isNotApplicable(TestAssertion testAssertion)
- {
- boolean notApplicable = false;
-
- // If the additional entry is not available, then set notApplicable
- if (testAssertion.getAdditionalEntryTypeList().getWSDLInput() != null
- && !testAssertion.getAdditionalEntryTypeList().getWSDLInput().equals("none")
- && analyzerContext.getServiceReference().getWSDLLocation() == null)
- {
- notApplicable = true;
- }
-
- return notApplicable;
- }
-
-
- /**
- * Get POST request.
- * @param httpHeader an HTTP
- * @return POST request.
- */
- public Vector getPostRequest(String httpHeader)
- {
- //Request-Line = Method SP Request-URI SP HTTP-Version CRLF
- Vector requestLine = new Vector();
- String startLine = null;
-
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- if (httpMessageTokenizer.hasMoreTokens())
- {
- startLine = httpMessageTokenizer.nextToken();
- }
-
- if (startLine.startsWith("POST"))
- {
- StringTokenizer startLineTokenizer =
- new StringTokenizer(startLine, "\u0020");
- while (startLineTokenizer.hasMoreTokens())
- {
- requestLine.add(startLineTokenizer.nextToken());
- }
- }
- return requestLine;
- }
-
- /**
- * Get HTTP request.
- * @param httpHeader an HTTP
- * @return HTTP request.
- */
- private Vector getHttpRequest(String httpHeader)
- {
- //Request-Line = Method SP Request-URI SP HTTP-Version CRLF
- Vector requestLine = new Vector();
- String startLine = null;
-
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- if (httpMessageTokenizer.hasMoreTokens())
- {
- startLine = httpMessageTokenizer.nextToken();
- }
-
- if (startLine.startsWith("POST") || startLine.startsWith("GET"))
- {
- StringTokenizer startLineTokenizer =
- new StringTokenizer(startLine, "\u0020");
- while (startLineTokenizer.hasMoreTokens())
- {
- requestLine.add(startLineTokenizer.nextToken());
- }
- }
- else
- {
- requestLine = null; // signify not POST or GET
- }
-
- return requestLine;
- }
-
- /**
- * Get HTTP request type.
- * @param entryContext an entry context.
- * @return HTTP request type.
- */
- private String getHttpRequestType(EntryContext entryContext)
- {
- //Request-Line = Method SP Request-URI SP HTTP-Version CRLF
-
- String httpHeader = entryContext.getRequest().getHTTPHeaders();
- String httpRequestType = null;
- String startLine = null;
-
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- if (httpMessageTokenizer.hasMoreTokens())
- {
- startLine = httpMessageTokenizer.nextToken();
- StringTokenizer startLineTokenizer =
- new StringTokenizer(startLine, "\u0020");
- if (startLineTokenizer.hasMoreTokens())
- {
- httpRequestType = startLineTokenizer.nextToken();
- }
- }
- return httpRequestType;
- }
-
- /**
- * Determine if the message is a response for a one-way operation.
- * @param entryContext an entry context.
- * @return true if the message is a response for a one-way operation.
- */
- public boolean isOneWayResponse(EntryContext entryContext)
- {
- boolean oneway = false;
-
- // TEMP: If this is a response message and there is no content, then set one-way to true
- // TEMP: Need to find a way to determine if the response is for a one-way message
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_RESPONSE)
- && entryContext.getMessageEntry().getMessage().length() == 0)
- {
- oneway = true;
- }
-
- return oneway;
- }
-
- /**
- * messageIsDocLitSchemaValid.
- *
- * Validates the doc-lit messages against the schema found in a candidate wsdl document.
- *
- * Identify (or be given) a reference in the wsdl to elements (found in &lt;wsdl:types&gt;&lt;schema&gt;...)
- * that are immediate children elements in the soap body.
- * @param entryContext an entry context.
- * @return true if the document literal message is compliant to the
- * schema found in a candidate WSDL document.
- * @throws WSIException if there is a parsing problem during validation.
- */
- public boolean messageIsDocLitSchemaValid(EntryContext entryContext)
- throws WSIException
- {
-
- // This method should use a validating parser that is capable of acceppting multiple schema references
- // programmatically. Then, every schema in candidate wsdl can be passed in to the validator. This avoids the
- // need to pinpoint a particular schema element from all candidate wsdl:types, corresponding to the
- // wsdl:operation being used. The pinpointing is an incomplete workaround for parsers not capable
- // of accepting arrays of scehma references
- // [ i.e. the DOM factory.setAttribute(JAXP_SCHEMA SOURCE, Object[] {...}) ]
- // get all xs:schema from all candidate wsdl:types
- // add each <schema> to an array and pass this array to the validating parser
- // when validating the/each soap body child.
-
- // use the referenced WSDL file and its imported files to find schemas
- List schemaWSDLs = new ArrayList();
- List inlineSchemas = new ArrayList();
- List schemaStrings = new ArrayList();
-
- Definition[] allDefs =
- analyzerContext.getCandidateInfo().getDefinitions();
- for (int thisDef = 0; thisDef < allDefs.length; thisDef++)
- {
- schemaWSDLs.add(allDefs[thisDef].getDocumentBaseURI());
- }
- Iterator fileIterator = schemaWSDLs.iterator();
- while (fileIterator.hasNext())
- {
- // parse file if possible
- Document wsdlDoc = null;
- String wsdlURI = (String) fileIterator.next();
- try
- {
- wsdlDoc = XMLUtils.parseXMLDocumentURL(wsdlURI, null);
- }
- catch (Exception e)
- {
- continue;
- }
- Element root = wsdlDoc.getDocumentElement();
- // find the schema
- NodeList schemaElements = root.getElementsByTagNameNS(
- WSITag.ELEM_XSD_SCHEMA.getNamespaceURI(),
- WSITag.ELEM_XSD_SCHEMA.getLocalPart());
-
- for (int elem = 0; elem < schemaElements.getLength(); elem++)
- {
- Element schema = (Element) schemaElements.item(elem);
- // copying all the NS declarations from wsdl:definitions wsdl:types
- copyNSDeclarations(root, schema);
- copyNSDeclarations((Element) schema.getParentNode(), schema);
- // Replacing all relative schemaLocation URIs with absolute ones
- replaceRelativeURIs(schema, wsdlURI);
- inlineSchemas.add(schema);
- }
- }
-
- // Note that the Xerces parser ONLY accepts an array
- // of schemas with unique namespaces.
- if (!duplicateNamespacesDetected(inlineSchemas))
- {
- // Serialize the schema elements inside the Types, then use this as
- // the schema string for the validation
- Iterator i = inlineSchemas.iterator();
- while (i.hasNext())
- {
- Element schema = (Element)i.next();
- String schemaString = DOM2Writer.nodeToString(schema);
- schemaStrings.add(schemaString);
- }
-
- NodeList elementList = entryContext.getMessageEntryDocument()
- .getElementsByTagNameNS(WSITag.ELEM_SOAP_BODY.getNamespaceURI(),
- WSITag.ELEM_SOAP_BODY.getLocalPart());
- if (elementList == null || elementList.getLength() != 1)
- {
- // should only be a single soap body !
- return false; // probably an error condition though
- }
-
- NodeList soapBodyChildList = ((Element)elementList.item(0)).getChildNodes();
- for (int child = 0; child < soapBodyChildList.getLength(); child++)
- {
- Node soapBodyChild = soapBodyChildList.item(child);
- if (soapBodyChild.getNodeType() == Node.ELEMENT_NODE)
- {
- // do all for now
- try
- {
- // Write out element tree to String
- String messageContent = DOM2Writer.nodeToString(soapBodyChild);
- // parse the child element, validating against the schema
- XMLUtils.parseXML(messageContent, schemaStrings);
- }
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- // validation failed
- throw new WSIException(e.getTargetException().getMessage());
- }
- throw e;
- }
- catch (Exception e)
- {
- throw new WSIException("Validating Parsing problem", e);
- // Bad things have happened
- }
- }
- }
- }
- return true;
- }
-
- /**
- * Copy the namespace declarations.
- * @param parent a message.
- * @param child a stripped message.
- */
- private void copyNSDeclarations(Element parent, Element child)
- {
- NamedNodeMap nodeMap = parent.getAttributes();
- for (int nodeId = 0; nodeId < nodeMap.getLength(); nodeId++)
- {
- Node node = nodeMap.item(nodeId);
-
- if ((node.getNodeType() == Node.ATTRIBUTE_NODE)
- && (node.getNodeName().startsWith("xmlns:")))
- {
- String nodeName = node.getNodeName();
- // If an NS being copied is not the same as the child element has, copy it
- if (!child.getNodeName().startsWith(
- nodeName.substring(nodeName.indexOf(":") + 1) + ":"))
- {
- child.setAttribute(nodeName, node.getNodeValue());
- }
- }
- }
- }
-
- /**
- * Replaces all relative URIs for schemaLocation attributes.
- * @param schema an xsd:schema element.
- * @param wsdlURI an URI of WSDL that contains xsd:schema being processed.
- */
- private void replaceRelativeURIs(Element schema, String wsdlURI)
- {
- // Retrieving all xsd:import elements
- NodeList imports = schema.getElementsByTagNameNS(
- WSITag.ELEM_XSD_IMPORT.getNamespaceURI(),
- WSITag.ELEM_XSD_IMPORT.getLocalPart());
- // Going through the elements
- for (int i = 0; i < imports.getLength(); i++)
- {
- Element imp = (Element) imports.item(i);
- // Getting the schemaLocation attribute
- Attr schemaLocation =
- XMLUtils.getAttribute(imp, WSITag.ATTR_XSD_SCHEMALOCATION);
- // If the attribute is present
- if (schemaLocation != null)
- {
- // Trying to create an URI object using attribute's value
- URI uri = null;
- try
- {
- uri = new URI(schemaLocation.getValue());
- }
- catch (Exception e) {}
- // If the value is not an absolute URI (the URI constructor throws the
- // MalformedURIException), creating the absolute URI using wsdlURI
- if (uri == null)
- {
- String newURI = wsdlURI.substring(0, wsdlURI.lastIndexOf("/") + 1)
- + schemaLocation.getValue();
- try
- {
- uri = new URI(newURI);
- // Setting a new URI as a value for the schemaLocation attribute
- schemaLocation.setValue(uri.toString());
- }
- catch (Exception e) {}
- }
- }
- }
- }
-
- /**
- * Returns binding operation matched for SOAP message.
- * @param entryType message entry type.
- * @param doc a message.
- * @return any binding operation matched, null if it is not found.
- */
- public BindingOperation getOperationMatch(EntryType entryType, Document doc)
- {
- BindingOperation bindingOperation = null;
- try
- {
- // Getting the name of the first SOAP Body child element
- QName operation = getOperationFromMessage(doc);
- if (operation != null)
- {
- // Retrieving all the RPC binding operations from wsdl:binding
- BindingOperation[] rpcBindingOps = getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- analyzerContext.getCandidateInfo().getBindings());
- // Retrieving binding operation by the given operation name
- bindingOperation = getOperationMatch(
- entryType, operation, rpcBindingOps);
- // If no one RPC operation matched
- if(bindingOperation == null)
- {
- // Retrieving all the document binding operations from wsdl:binding
- BindingOperation[] docBindingOperations = getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- analyzerContext.getCandidateInfo().getBindings());
- // Retrieving binding operation by given element name
- BindingOperation[] potentialDocLitOps =
- getDocLitOperations(entryType, operation, docBindingOperations);
- // If there is exactly one operation matched
- if (potentialDocLitOps.length == 1)
- bindingOperation = potentialDocLitOps[0];
- }
- }
- }
- catch (Exception e) {}
-
- return bindingOperation;
- }
-
- /**
- * Match either Input or Output.
- * @param messageEntryType message entry type.
- * @param soapMessage soap message.
- * @param op binding operations.
- * @return matched operation.
- */
- public BindingOperation getOperationMatch(
- EntryType messageEntryType,
- Document soapMessage,
- BindingOperation[] op)
- {
- // Get operation from message
- QName operation = getOperationFromMessage(soapMessage);
- // list of QNames
-
- return getOperationMatch(messageEntryType, operation, op);
- }
-
- /**
- * Match either Input or Output.
- * @param messageEntryType message entry type.
- * @param operation SOAP operation name.
- * @param op binding operations.
- * @return matched operation.
- */
- public BindingOperation getOperationMatch(
- EntryType messageEntryType,
- QName operation,
- BindingOperation[] op)
- {
- QName checkOperation;
-
- // Look for a candidate operation in the wsdl that matches this signature.
- for (int k = 0; k < op.length; k++)
- {
- String name = null;
- List extensibles = null;
- BindingOperation bindingOp = op[k];
-
- if (messageEntryType.isType(EntryType.TYPE_MESSAGE_REQUEST)
- && (bindingOp.getOperation().getInput() != null))
- {
- name = bindingOp.getOperation().getName();
- extensibles = bindingOp.getBindingInput().getExtensibilityElements();
- }
- else if (
- messageEntryType.isType(EntryType.TYPE_MESSAGE_RESPONSE)
- && (bindingOp.getOperation().getOutput() != null))
- {
- name = bindingOp.getOperation().getName() + "Response";
- extensibles = bindingOp.getBindingOutput().getExtensibilityElements();
- }
-
- // Get soap:body
- SOAPBody soapBody = getSoapBody(extensibles);
- if (soapBody == null)
- checkOperation = new QName(name);
- else
- checkOperation = new QName(soapBody.getNamespaceURI(), name);
-
- if (operation != null && operation.equals(checkOperation))
- {
- return (bindingOp);
- }
- }
- return null;
- }
-
- /**
- * Match either Input or Output.
- * @param messageEntryType a message entry type.
- * @param soapMessage a soap message.
- * @param op binsing operations.
- * @return matched operation.
- */
- public BindingOperation getOperationPartsMatch(
- EntryType messageEntryType,
- Document soapMessage,
- BindingOperation[] op)
- {
- Map parts = getPartListFromMessage(soapMessage); // list of QNames
-
- // Look for a candidate operation in the wsdl that matches this signature.
- for (int k = 0; k < op.length; k++)
- {
-
- Message wsdlMessage = null;
- List extensibles = null;
- BindingOperation bindingOp = op[k];
-
- if (messageEntryType.isType(EntryType.TYPE_MESSAGE_REQUEST)
- && (bindingOp.getOperation().getInput() != null))
- {
- wsdlMessage = bindingOp.getOperation().getInput().getMessage();
- extensibles = bindingOp.getBindingInput().getExtensibilityElements();
- }
- else if (
- messageEntryType.isType(EntryType.TYPE_MESSAGE_RESPONSE)
- && (bindingOp.getOperation().getOutput() != null))
- {
- wsdlMessage = bindingOp.getOperation().getOutput().getMessage();
- extensibles = bindingOp.getBindingOutput().getExtensibilityElements();
- }
- //wsdlFaultParts = op[k].getFaults();
- // ADD: check for case when response message is a fault
-
- if (sameParts(parts, wsdlMessage, getSoapHeader(extensibles)))
- {
- return (bindingOp);
- }
- }
- return null;
- }
-
- /**
- * BindingOperation getOperationPartsMatch(..).
- *
- * Find one or more matching binding operations from the WSDL corresponding to the
- * given request-response signature.
- *
- * This overloaded version is intended for possible Correlation only (not assertions),
- * since it checks for an operation signature on a request-response pair.
- * Assertions now check request & response messages independently.
- * @param requestMessage a request message.
- * @param responseMessage a response message.
- * @param op binding operations.
- * @return matched operation.
- */
- //private BindingOperation getOperationPartsMatch(
- // Document requestMessage,
- // Document responseMessage,
- // BindingOperation[] op)
- //{
- // Map inParts = getPartListFromMessage(requestMessage); // list of QNames
- // Map outParts = getPartListFromMessage(responseMessage);
- // // list of QNames
- //
- // // Look for a candidate operation in the wsdl that matches this signature.
- // for (int k = 0; k < op.length; k++)
- // {
- //
- // //Map wsdlFaultParts = null;
- // Message wsdlInMessage = null;
- // Message wsdlOutMessage = null;
- //
- // BindingOperation bindingOp = op[k];
- // if (bindingOp.getOperation().getInput() != null)
- // {
- // wsdlInMessage = bindingOp.getOperation().getInput().getMessage();
- // }
- //
- // if (bindingOp.getOperation().getOutput() != null)
- // {
- // wsdlOutMessage = bindingOp.getOperation().getOutput().getMessage();
- // }
- // //wsdlFaultParts = op[k].getFaults();
- // // ADD: check for case when response message is a fault
- //
- // if (sameParts(inParts,
- // wsdlInMessage,
- // getSoapHeader(bindingOp.getBindingInput().getExtensibilityElements())))
- // {
- // // match on the request - now check response if its not a fault
- // if (responseMessage != null && isFault(responseMessage))
- // {
- // return (bindingOp);
- // }
- // else if (
- // sameParts(
- // outParts,
- // wsdlOutMessage,
- // getSoapHeader(
- // bindingOp.getBindingOutput().getExtensibilityElements())))
- // {
- // // It does match so treat this as a relevant message pair.
- // // Let the message through for validation.
- // //ADD: could pass the operations list back to the entryContext for the message.
- // return (bindingOp);
- // }
- // }
- // }
- // return null;
- //}
-
- /**
- * Get the soap:body from a List of extensibility elements.
- * @param extElems a list of extensibility elements.
- * @return the soap:body from a List of extensibility elements.
- */
- private SOAPBody getSoapBody(List extElems)
- {
- // Find the soap body
- if (extElems != null)
- {
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- if (extElem.getElementType().equals(WSITag.WSDL_SOAP_BODY))
- {
- return (SOAPBody) extElem;
- }
- // If the element is mime:multipartRelated
- else if (extElem.getElementType().equals(WSITag.WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- SOAPBody soapBody = getSoapBody(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- if (soapBody != null)
- return soapBody;
- }
- }
- }
- }
-
- return null;
- }
-
- /**
- * Get the SOAPHeader from a List of extensibility elements.
- * @param extensibles a list of extensibility elements.
- * @return the SOAPHeader from a List of extensibility elements.
- */
- private SOAPHeader getSoapHeader(List extensibles)
- {
- SOAPHeader soapHeader = null;
-
- // find the soap header
- if (extensibles != null)
- {
- Iterator i = extensibles.iterator();
- while (i.hasNext() && soapHeader == null)
- {
- try
- {
- soapHeader = (SOAPHeader) i.next();
- }
- catch (ClassCastException c)
- {
- }
- }
- }
- return soapHeader;
- }
-
- /**
- * Get first part name from soapbind:body element.
- */
- private String getFirstPartName(BindingOperation bindingOperation)
- {
- String partName = null;
- List extList = null;
- Iterator partsIterator = null;
-
- // Determine if there is a list of parts by finding the soapbind:body element
- if ((extList =
- bindingOperation.getBindingInput().getExtensibilityElements())
- != null)
- {
- List partsList = null;
- Iterator extIterator = extList.iterator();
- while (extIterator.hasNext() && (partName == null))
- {
- Object extElement = extIterator.next();
- if (extElement instanceof SOAPBody)
- {
- if ((partsList = ((SOAPBody) extElement).getParts()) != null)
- {
- partsIterator = partsList.iterator();
-
- // Since this is a doc literal binding there should be only one part name
- if (partsIterator.hasNext())
- partName = (String) partsIterator.next();
- }
- }
- }
- }
-
- return partName;
- }
-
- public BindingOperation[] getDocLitOperations(
- EntryType messageType,
- QName partElementQName,
- BindingOperation[] wsdlOperations)
- {
-
- if (messageType.isType(EntryType.ENTRY_TYPE_REQUEST))
- {
- return getInputDocLitOperations(partElementQName, wsdlOperations);
- }
- else if (messageType.isType(EntryType.ENTRY_TYPE_RESPONSE))
- {
- return getOutputDocLitOperations(partElementQName, wsdlOperations);
- }
- else
- {
- return null; // should be one or the other
- }
- }
-
- private BindingOperation[] getInputDocLitOperations(
- QName partElementQName,
- BindingOperation[] wsdlOperations)
- {
-
- Vector potentialOps = new Vector();
-
- for (int i = 0; i < wsdlOperations.length; i++)
- {
- if (wsdlOperations[i].getOperation().getInput() != null)
- {
- Message message = wsdlOperations[i].getOperation().getInput().getMessage();
- // If SOAP Body child element is not present and wsdl:message does not have any wsdl:parts, that is the match
- if (partElementQName == null)
- {
- if (message.getParts().isEmpty())
- potentialOps.add(wsdlOperations[i]);
- continue;
- }
-
- Iterator partsIt = message.getParts().values().iterator();
- while (partsIt.hasNext())
- {
- Part nextPart = (Part) partsIt.next();
- if (partElementQName.equals(nextPart.getElementName()))
- {
- // matching part found (doc-lit) - add to list of possible operation matches
- potentialOps.add(wsdlOperations[i]);
- break;
- }
- }
- }
- }
- return (BindingOperation[]) potentialOps.toArray(new BindingOperation[0]);
- }
-
- private BindingOperation[] getOutputDocLitOperations(
- QName partElementQName,
- BindingOperation[] wsdlOperations)
- {
-
- Vector potentialOps = new Vector();
-
- for (int i = 0; i < wsdlOperations.length; i++)
- {
- if (wsdlOperations[i].getOperation().getOutput() != null)
- {
- Message message = wsdlOperations[i].getOperation().getOutput().getMessage();
- // If SOAP Body child element is not present and wsdl:message does not have any wsdl:parts, that is the match
- if (partElementQName == null)
- {
- if (message.getParts().isEmpty())
- potentialOps.add(wsdlOperations[i]);
- continue;
- }
-
- Iterator partsIt = message.getParts().values().iterator();
- while (partsIt.hasNext())
- {
- Part nextPart = (Part) partsIt.next();
- if (partElementQName.equals(nextPart.getElementName()))
- {
- // matching part found (doc-lit) - add to list of possible operation matches
- potentialOps.add(wsdlOperations[i]);
- break;
- }
- }
- }
- }
- return (BindingOperation[]) potentialOps.toArray(new BindingOperation[0]);
- }
-
- /**
- * Compare soap message element part names with Parts from specified wsdl Operation
- */
- //private boolean sameParts(HashSet messageParts, Map wsdlParts)
- //{
- //
- // // look for the soap-message operation signature
- // Iterator i = wsdlParts.values().iterator();
- // // build a set of Part names
- // HashSet h = new HashSet();
- // while (i.hasNext())
- // {
- // Part p = (Part) i.next();
- // h.add(p.getName());
- // }
- //
- // // compare with the parts list from the message (unordered)
- // return (h.equals(messageParts));
- //}
-
- /**
- * Compare soap message element part names with Parts from specified wsdl Operation
- */
- private boolean sameParts(
- Map messageParts,
- Message wsdlMessage,
- SOAPHeader soapHeader)
- {
-
- String soapHeaderPart = null;
- if (soapHeader != null)
- soapHeaderPart = soapHeader.getPart();
-
- // check null conditions
- if (messageParts == null && wsdlMessage == null)
- {
- return true; // simple equality test
- }
- else if (messageParts == null || wsdlMessage == null)
- {
- return false;
- }
-
- Vector v = new Vector();
- //List wsdlParts = wsdlMessage.getOrderedParts(null);
- Map wsdlParts = null;
- if (wsdlMessage.getParts() != null)
- {
- wsdlParts = wsdlMessage.getParts();
- // look for the soap-message operation signature
- Iterator i = wsdlParts.values().iterator();
- // build a set of Part names
- while (i.hasNext())
- {
- Part p = (Part) i.next();
- // do not include the part for the soap:header (if any)
- if (!p.getName().equals(soapHeaderPart))
- {
- // check that the part is associated with the soap:body
- v.add(new QName(p.getName()));
- }
- }
- // if one of the parts is associated with a soap:header in the binding
- // (by <soap:header part="{partname}">), remove this from the set
-
- }
-
- // compare with the parts list from the message (ordered)
- if (v.isEmpty() && messageParts.isEmpty())
- {
- return true;
- }
-
- // PB: Changed to containsAll() since equals() fails when using JRE 1.4
- if (v.containsAll(messageParts.keySet())
- && (v.size() == messageParts.size()))
- {
- // Check for xsi:type mismatch
- Iterator parts = messageParts.keySet().iterator();
- QName partName, xsiType;
- while (parts.hasNext())
- {
- partName = (QName) parts.next();
-
- // Get xsi:type QName
- if ((xsiType = (QName) messageParts.get(partName)) != null
- && wsdlParts != null)
- {
- // Get the WSDL part definition
- Part part = (Part) wsdlParts.get(partName.getLocalPart());
-
- // If xsiType is NOT derived from the type of the corresponding WSDL part
- if (!isDerivedType(xsiType, part.getTypeName()))
- {
- // return false
- return false;
- }
- }
- }
-
- return true;
- }
- else
- return false;
- //return (v.equals(messageParts));
- }
-
- /**
- * Checks whether one schema type is derived from another.
- * @param extType an assumed derived type.
- * @param type an assumed base type.
- * @return true if extType is derived from type, false otherwise
- */
- public boolean isDerivedType(QName extType, QName type)
- {
- // If either of types is null, return false
- if (extType == null || type == null)
- return false;
- // If the types are equal, return true
- if (extType.equals(type))
- return true;
-
- // Going through all schemas
- Iterator i = wsdlDocument.getSchemas().values().iterator();
- while (i.hasNext())
- {
- XSModel xsModel = (XSModel) i.next();
- // Retrieving the derived type definition
- XSTypeDefinition xsType = xsModel.getTypeDefinition(
- extType.getLocalPart(), extType.getNamespaceURI());
- // If it is found and derived from the base type, return true
- if (xsType != null && xsType.derivedFrom(type.getNamespaceURI(),
- type.getLocalPart(), XSConstants.DERIVATION_NONE))
- {
- return true;
- }
- }
- // extType is not derived from type, return false
- return false;
- }
-
- /**
- * Get a list of QNames of parts from the soap body of the specified message
- */
- public Element getSoapBodyChild(Document doc)
- {
-
- Element opElem = null;
- if (doc != null)
- {
- Element root = doc.getDocumentElement();
- NodeList bodies =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
- // Get the list of soap:body child element names from the request message
- if (bodies != null && bodies.getLength() > 0)
- {
- Element body = (Element) bodies.item(0);
- NodeList children = body.getChildNodes();
- for (int i = 0; i < children.getLength() && opElem == null; ++i)
- {
- Node n = children.item(i);
- if (n instanceof Element)
- {
- opElem = (Element) n;
- }
- }
- }
- }
- return opElem;
- }
-
- /** Check whether this message is a soap fault
- */
- public boolean isFault(Document doc)
- {
- boolean isFault = false;
-
- if (doc != null)
- {
- Element root = doc.getDocumentElement();
- isFault =
- (root
- .getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Fault")
- .getLength()
- > 0);
- }
-
- return isFault;
- }
-
- /**
- * Check whether this message has a soap body with a child element.
- */
- public boolean containsSoapBodyWithChild(Document doc)
- {
- boolean contains = false;
-
- if (doc != null)
- {
- contains = ((getSoapBodyChild(doc) == null) ? false : true);
- }
-
- return contains;
- }
-
- /**
- * Get SOAPAction value from the HTTP headers.
- * @param headers HTTP headers
- * @return SOAPAction value
- */
- public String getSoapAction(String headers) throws WSIException
- {
- // get SOAPAction
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
- return action;
- }
-
- /**
- * Get a list of QNames of parts from the soap body of the specified message.
- * This method assumes RPC style message content
- */
- private QName getOperationFromMessage(Document doc)
- {
- QName operation = null;
- if (doc != null)
- {
- Element root = doc.getDocumentElement();
- NodeList bodies =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
- if (bodies != null && bodies.getLength() > 0)
- {
- Element body = (Element) bodies.item(0);
- NodeList children = body.getChildNodes();
- for (int i = 0; i < children.getLength(); ++i)
- {
- Node n = children.item(i);
- // If element, then this is the operation name
- if (n instanceof Element)
- {
- operation = new QName(n.getNamespaceURI(), n.getLocalName());
- }
- }
- }
- }
-
- return operation;
- }
-
- /**
- * Get a list of QNames of parts from the soap body of the specified message.
- * This method assumes RPC style message content
- */
- private Map getPartListFromMessage(Document doc)
- {
- Map parts = new HashMap();
- if (doc != null)
- {
- Element root = doc.getDocumentElement();
- NodeList bodies =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Body");
- // Get the list of soap:body grand-child element names from the request message
- // (immediate child is the message name)
- if (bodies != null && bodies.getLength() > 0)
- {
- Element body = (Element) bodies.item(0);
- NodeList children = body.getChildNodes();
- for (int i = 0; i < children.getLength(); ++i)
- {
- Node n = children.item(i);
- if (n instanceof Element)
- {
- // this is the operation name. Its children are the parts
- NodeList grandChildren = n.getChildNodes();
- for (int j = 0; j < grandChildren.getLength(); j++)
- {
- Node m = grandChildren.item(j);
- if (m instanceof Element)
- {
- // Determine if the part has an xsi:type
- Attr attr =
- XMLUtils.getAttribute(
- (Element) m,
- new QName(WSIConstants.NS_URI_XSI, "type"));
-
- QName xsiType = null;
-
- // If there is an xsi:type attribute, then get the value as a QName
- try
- {
- if (attr != null)
- xsiType =
- DOMUtils.getQName(attr.getNodeValue(), (Element) m);
- }
- catch (javax.wsdl.WSDLException we)
- {
- }
-
- // add to the child element list
- parts.put(
- new QName(m.getNamespaceURI(), m.getLocalName()),
- xsiType);
- }
- }
- }
- }
- }
- }
- return parts;
- }
-
- public BindingOperation[] getMatchingBindingOps(
- String bindingStyle,
- Binding[] bindings)
- throws WSIException
- {
-
- HashSet bindingOperationsSet = new HashSet();
-
- // whizz through the bindings, checking for a bindingOperation matching the message
- for (int i = 0; i < bindings.length; i++)
- {
-
- Binding tryBinding = bindings[i];
- List bindingOps = tryBinding.getBindingOperations();
-
- if (bindingOps != null)
- {
-
- // search through binding Operations
- Iterator bindingOpIt = tryBinding.getBindingOperations().iterator();
- while (bindingOpIt.hasNext())
- {
-
- BindingOperation bindingOp = (BindingOperation) bindingOpIt.next();
- // check depends on which binding style is declared in the wsdl
- SOAPOperation soapOp = WSDLValidatorImpl.getSoapOperation(bindingOp);
- //GT: move this method to utils
-
- String style;
- if ((soapOp == null) || (style = soapOp.getStyle()) == null)
- {
- // use the style of the parent bindingOp
-
- SOAPBinding soapBind = WSDLValidatorImpl.getSoapBinding(tryBinding);
- //GT: move this method to utils
- if ((style = soapBind.getStyle()) == null)
- {
- style = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
- //default
- }
- }
- if (style.equals(bindingStyle))
- {
-
- bindingOperationsSet.add(bindingOp);
-
- }
- }
- } // current binding has no bindingOperations, ignore
- }
- return (BindingOperation[]) bindingOperationsSet.toArray(
- new BindingOperation[0]);
- }
-
- /**
- * Checks whether soap:body element is literal.
- * @param extElements extensibility elements of wsdl:input or wsdl:output
- * of a binding
- */
- public boolean isLiteral(List extElems)
- {
- SOAPBody soapBody = getSOAPBody(extElems);
- if (soapBody != null
- && soapBody.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- return true;
- else
- return false;
- }
-
- /**
- * Orders wsdl:part names keeping in mind the "parts" attribute of WSDL soap:body
- * @param messageParts a list of wsdl:partS
- * @param extElems extensibility elements in the binding
- * @return the ordered list of part names
- */
- public List orderPartNames(List messageParts, List extElems)
- {
- List orderedPartNames = new ArrayList();
- List bodyParts = null;
-
- SOAPBody soapBody = getSOAPBody(extElems);
- if (soapBody != null)
- bodyParts = soapBody.getParts();
-
- Iterator i = messageParts.iterator();
- while (i.hasNext())
- {
- String partName = ((Part) i.next()).getName();
- // If the parts attribute is not specified or contains
- // the wsdl:part name, then adding part name to the ordered list
- if (bodyParts == null || bodyParts.contains(partName))
- orderedPartNames.add(partName);
- }
-
- return orderedPartNames;
- }
-
- /**
- * Retrieves the SOAPBody object from a list of extensibility elments in binding
- * @param extElems extensibility elements
- * @return the SOAPBody element
- */
- public SOAPBody getSOAPBody(List extElems)
- {
- if (extElems == null)
- return null;
- for (Iterator i = extElems.iterator(); i.hasNext();)
- {
- Object obj = i.next();
- if (obj instanceof SOAPBody)
- return (SOAPBody) obj;
- }
-
- return null;
- }
-
- public List resolveSameNamespaces(List schemaElements)
- {
- List namespaces = new ArrayList();
- List result = new ArrayList();
- Iterator i = schemaElements.iterator();
- while (i.hasNext())
- {
- Element schema = (Element) i.next();
- String targetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
- if (!namespaces.contains(targetNamespace))
- {
- namespaces.add(targetNamespace);
- List schemas = getSchemasWithSameNamespace(schemaElements, targetNamespace);
- if (schemas.size() == 1)
- {
- result.add(schema);
- }
- else
- {
- // copying all the NS declarations from wsdl:definitions wsdl:types
- //copyNSDeclarations(root, schema);
- copyNSDeclarations((Element) schema.getParentNode(), schema);
- // Replacing all relative schemaLocation URIs with absolute ones
- //replaceRelativeURIs(schema, wsdlURI);
- // Serialize the schema elements inside the Types, then use this as
- // the schema string for the validation
- //String schemaString =
- // DOM2Writer.nodeToString(schema);
- // schemaStrings.add(schemaString);
- }
- }
- }
- return null;
- }
-
- public List getSchemasWithSameNamespace(List schemaElements, String targetNamespace)
- {
- List result = new ArrayList();
- Iterator i = schemaElements.iterator();
- while (i.hasNext())
- {
- Element schema = (Element)i.next();
- String schemaTargetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
- if (schemaTargetNamespace == null)
- schemaTargetNamespace = "";
-
- if (schemaTargetNamespace.equals(targetNamespace))
- {
- result.add(schema);
- }
- }
- return result;
- }
-
- public boolean duplicateNamespacesDetected(List schemaElements)
- {
- boolean result = false;
- List namespaces = new ArrayList();
- Iterator i = schemaElements.iterator();
- while (i.hasNext())
- {
- Element schema = (Element)i.next();
- String targetNamespace = schema.getAttribute(Constants.ATTR_TARGET_NAMESPACE);
- if (targetNamespace == null)
- targetNamespace = "";
-
- if (namespaces.contains(targetNamespace))
- {
- result = true;
- break;
- }
- else
- {
- namespaces.add(targetNamespace);
- }
- }
- return result;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java
deleted file mode 100644
index b72ce34c3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/BaseValidatorImpl.java
+++ /dev/null
@@ -1,705 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
-
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.TreeMap;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.BaseValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EnvelopeValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.report.PrereqFailedList;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.report.impl.PrereqFailedListImpl;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.xml.XMLDocumentCacheUser;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public abstract class BaseValidatorImpl
- extends XMLDocumentCacheUser
- implements BaseValidator
-{
-
- /**
- * A hashtable that maps assertion results to their priorities, 0 is lowest
- */
- private static final Hashtable resultPriority = new Hashtable(6);
- static {
- resultPriority.put(AssertionResult.RESULT_PASSED, new Integer(0));
- resultPriority.put(AssertionResult.RESULT_NOT_APPLICABLE, new Integer(1));
- resultPriority.put(AssertionResult.RESULT_MISSING_INPUT, new Integer(2));
- resultPriority.put(AssertionResult.RESULT_WARNING, new Integer(3));
- resultPriority.put(AssertionResult.RESULT_PREREQ_FAILED, new Integer(4));
- resultPriority.put(AssertionResult.RESULT_FAILED, new Integer(5));
- }
-
- /**
- * The highest priority value being passed when processing pre-requisites
- */
- private static final int MAX_VALID_PRIORITY = 1;
-
- /**
- * Analyzer context.
- */
- public AnalyzerContext analyzerContext;
-
- /**
- * Profile artifact.
- */
- protected ProfileArtifact profileArtifact;
-
- /**
- * Reporter.
- */
- protected Reporter reporter;
-
- /**
- * Entry.
- */
- // protected Entry entry;
-
- /**
- * Report artifact.
- */
- protected ReportArtifact reportArtifact;
-
- /**
- * Verbose option.
- */
- public boolean verboseOption = false;
-
- /**
- * Test assertion processed count.
- */
- protected int assertionCount = 0;
-
- /**
- * Constructor.
- */
- public BaseValidatorImpl()
- {
- }
-
- /**
- * Initiailize validation test procedure.
- * @param analyzerContext the analyzerContext.
- * @param profileArtifact the profile artifiact.
- * @param reportArtifact the report artifact.
- * @param reporter a Reporter object.
- * @throws WSIException if validator could not be initialized.
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact profileArtifact,
- ReportArtifact reportArtifact,
- Reporter reporter)
- throws WSIException
- {
- // Save input references
- this.analyzerContext = analyzerContext;
- this.profileArtifact = profileArtifact;
- this.reportArtifact = reportArtifact;
- this.reporter = reporter;
-
- // Get verbose option
- verboseOption =
- reporter
- .getReport()
- .getReportContext()
- .getAnalyzer()
- .getAnalyzerConfig()
- .getVerboseOption();
- }
-
- /**
- * Process all of the test assertions for one entry.
- * @param classPrefix a class prefix.
- * @param entryContext an entry context.
- * @throws WSIException if serious problems occur while processing
- * all of the test assertions for an entry.
- */
- protected void processAssertions(
- String classPrefix,
- EntryContext entryContext)
- throws WSIException
- {
- long startTime = 0;
-
- HashMap processList = new HashMap();
- TestAssertion testAssertion = null;
- AssertionProcess assertionProcess;
- AssertionResult assertionResult;
-
- TreeMap preReqResults;
- PrereqFailedList prereqFailedList;
- String preReqId;
-
- Class[] paramTypes = new Class[1];
- // If this is an instance of MessageValidator or EnvelopeValidator
- // then use BaseMessageValidator as a param type of assertions constructor
- paramTypes[0] = this instanceof BaseMessageValidator ?
- BaseMessageValidator.class : this.getClass();
-
- Object[] params = new Object[1];
- params[0] = this;
-
- // Get entry from context
- Entry entry = entryContext.getEntry();
-
- // Add entry to artifact
- this.reportArtifact.addEntry(entry);
-
- // Add entry to report
- if (this instanceof EnvelopeValidator)
- this.reporter.setCurrentEnvelopeEntry(entry);
- else this.reporter.setCurrentEntry(entry);
-
- try
- {
- // Go through the list of test assertions for the artifact
- Iterator iterator = profileArtifact.getTestAssertionList().iterator();
- while (iterator.hasNext())
- {
- // Get next test assertion
- testAssertion = (TestAssertion) iterator.next();
-
- // Reset variables
- assertionResult = null;
-
- // If the test assertion is enabled, then continue
- // if ((testAssertion.isEnabled()) &&
- // testAssertion.getEntryTypeName().equals(targetContext.getEntry().getEntryType().getTypeName())) {
- if (testAssertion.isEnabled()
- && isPrimaryEntryTypeMatch(testAssertion, entryContext))
- {
- try
- {
- // Add 1 to assertion processed count
- assertionCount++;
-
- // If the assertion process hasn't been created yet, then create it
- if ((assertionProcess =
- (AssertionProcess) processList.get(testAssertion.getId()))
- == null)
- {
-
- // Create a new assertion process
- Class assertionClass =
- Class.forName(classPrefix + testAssertion.getId());
-
- assertionProcess =
- (AssertionProcess) assertionClass.getConstructor(
- paramTypes).newInstance(
- params);
-
- // Add it to the list
- processList.put(testAssertion.getId(), assertionProcess);
- }
-
- // Check whether entry is null
- if (entry.getEntryDetail() == null)
- {
- assertionResult =
- createAssertionResult(
- testAssertion,
- AssertionResult.RESULT_MISSING_INPUT,
- (String) null);
- }
-
- // Check to see if the test assertion should be run
- //if (isNotApplicable(testAssertion, entryContext)) {
- else if (isNotApplicable(testAssertion))
- {
- assertionResult =
- createAssertionResult(
- testAssertion,
- AssertionResult.RESULT_NOT_APPLICABLE,
- (String) null);
- }
- else
- {
- // Processing all the assertion pre-requisites
-
- preReqResults = null;
- prereqFailedList = null;
- // Get list of pre-reqs for specified assertion
- Iterator i = testAssertion.getPrereqIdList().iterator();
- while (i.hasNext())
- {
- if (preReqResults == null)
- preReqResults = new TreeMap();
- // Get next id
- preReqId = (String) i.next();
- // Get the prereq result
- AssertionResult preReqResult = reporter.getAssertionResult(preReqId);
-
- // Adding a result priority value to preReqResults
- preReqResults.put(
- resultPriority.get(preReqResult.getResult()),
- preReqResult.getResult());
-
- // If the prereq failed, then add it to the list
- if (((Integer)resultPriority.get(preReqResult.getResult())).intValue()
- > MAX_VALID_PRIORITY)
- {
- // Adding failed prereq ID to the list
- if (prereqFailedList == null)
- prereqFailedList = new PrereqFailedListImpl();
- prereqFailedList.addTestAssertionID(preReqId);
- }
- }
-
- if (prereqFailedList != null) {
- // Getting the highest pre-requisites' result
- Integer maxRes = (Integer)preReqResults.lastKey();
- String resString = (String)preReqResults.get(maxRes);
- if (resString.equals(AssertionResult.RESULT_FAILED)
- ||resString.equals(AssertionResult.RESULT_WARNING)) {
- resString = AssertionResult.RESULT_PREREQ_FAILED;
- }
- // Create assertion result based on pre-requisites which are not passed
- assertionResult = createAssertionResult(testAssertion, resString, prereqFailedList);
- }
-
- // Pre-requisites are passed, validate current assertion
- else {
-
- // Reset test assertion
- assertionProcess.reset();
-
- // VERBOSE
- if (verboseOption)
- {
- System.err.println(
- " Processing "
- + testAssertion.getId()
- + " for entry reference ID ["
- + entry.getReferenceID()
- + "] ...");
- startTime = System.currentTimeMillis();
- }
-
- // Validate the target
- assertionResult =
- assertionProcess.validate(testAssertion, entryContext);
-
- // VERBOSE
- if (verboseOption)
- {
- System.err.println(
- " Elapsed time: "
- + (System.currentTimeMillis() - startTime)
- + "ms");
- }
- }
- }
-
- // Add result to the report
- reporter.addAssertionResult(assertionResult);
- }
-
- catch (ClassNotFoundException cnfe)
- {
- // DEBUG:
- if (testAssertion != null)
- {
- reporter
- .getReport()
- .getReportContext()
- .getAnalyzer()
- .printMessage(
- "WARNING: "
- + testAssertion.getId()
- + " is not supported currently.");
- }
- }
- }
- }
- }
-
- catch (Exception e)
- {
- System.err.println("EXECEPTION: " + e.getMessage());
- if (verboseOption)
- e.printStackTrace();
-
- if (e instanceof WSIException)
- throw (WSIException) e;
- else
- throw new WSIException(e.getMessage(), e);
- }
-
- finally
- {
- // Indicate that we are done with this assertion target
- this.reporter.endCurrentEntry();
- }
- }
-
- /**
- * Determine if the test assertion should be processed for the current entry.
- * @param testAssertion a test assertion.
- * @param entryContext the entry context.
- * @return true if the test assertion should be processed for the current entry.
- */
- protected abstract boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext entryContext);
-
- /**
- * Determine if the test assertion should be processed for the current entry.
- * @param testAssertion a test assertion.
- * @param entry an Entry object
- * @return true if the test assertion should be processed for the current entry.
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- Entry entry)
- {
- boolean match = false;
-
- // If the test assertion entry type matches the target context entry type, then contine
- if (testAssertion
- .getEntryTypeName()
- .equals(entry.getEntryType().getTypeName()))
- {
- match = true;
- }
-
- return match;
- }
-
- /**
- * Determine if the test assertion is not applicable.
- * @param testAssertion a test assertion.
- * @return true if the test assertion is not applicable.
- */
- protected abstract boolean isNotApplicable(TestAssertion testAssertion);
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.BaseValidator#cleanup()
- */
- public void cleanup() throws WSIException
- {
- // If no assertions were processed, then set all missingInput
- if (assertionCount == 0)
- setAllMissingInput();
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param failureDetail a FailureDetail object.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- FailureDetail failureDetail)
- {
- Vector failureDetailList = null;
-
- // Create failure detail list
- if (failureDetail != null)
- {
- failureDetailList = new Vector();
- failureDetailList.add(failureDetail);
- }
-
- return createAssertionResult(testAssertion, result, failureDetailList);
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param failureDetailMessage a failure detail message.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- String failureDetailMessage)
- {
- return createAssertionResult(
- testAssertion,
- result,
- failureDetailMessage,
- null);
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param failureDetailMessage a failure detail message.
- * @param elementLocation element location.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- String failureDetailMessage,
- ElementLocation elementLocation)
- {
- // Create failure detail list
- Vector failureDetailList = null;
- if (failureDetailMessage != null)
- {
- failureDetailList = new Vector();
- FailureDetail failureDetail = reporter.createFailureDetail();
- failureDetail.setFailureMessage(failureDetailMessage);
- failureDetail.setElementLocation(elementLocation);
- failureDetailList.add(failureDetail);
- }
-
- return createAssertionResult(testAssertion, result, failureDetailList);
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param failureDetailList a failure detail list.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- Vector failureDetailList)
- {
- // Create assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set values in assertion result
- assertionResult.setAssertion(testAssertion);
- assertionResult.setResult(result);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
-
- // Set failure detail list
- assertionResult.setFailureDetailList(failureDetailList);
-
- return assertionResult;
- }
-
- /**
- * Create assertion result.
- * @param testAssertion a test assertion.
- * @param result a String object.
- * @param prereqFailedList a list failed pre-requisite assertions.
- * @return newly created test result.
- */
- public AssertionResult createAssertionResult(
- TestAssertion testAssertion,
- String result,
- PrereqFailedList prereqFailedList)
- {
- // Create assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set values in assertion result
- assertionResult.setAssertion(testAssertion);
- assertionResult.setResult(result);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
- assertionResult.setPrereqFailedList(prereqFailedList);
-
- return assertionResult;
- }
-
- /**
- * Add assertion result to report.
- * @param assertionId assertion id.
- * @param result assertion result.
- * @throws WSIException if the assertion result cannot be added to the report.
- */
- protected void addAssertionResult(String assertionId, String result)
- throws WSIException
- {
- // Create test assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set assertion, result and target
- assertionResult.setAssertion(profileArtifact.getTestAssertion(assertionId));
- assertionResult.setResult(result);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
-
- // Add it to the report
- reporter.addAssertionResult(assertionResult);
- }
-
- /**
- * Add assertion result to report with an error detail message.
- * @param assertionId assertion id.
- * @param result assertion result.
- * @param failureDetailMessage an error detail message.
- * @throws WSIException if the assertion result cannot be added to the report.
- */
- protected void addAssertionResult(
- String assertionId,
- String result,
- String failureDetailMessage)
- throws WSIException
- {
- // Convert message to vector
- Vector failureDetailList = null;
- if (failureDetailMessage != null)
- {
- failureDetailList = new Vector();
- FailureDetail failureDetail = reporter.createFailureDetail();
- failureDetailList.add(failureDetail);
- }
-
- // Add assertion result
- addAssertionResult(assertionId, result, failureDetailList);
- }
-
- /**
- * Add assertion result to report.
- * @param assertionId assertion id.
- * @param result assertion result.
- * @param failureDetailList a list of error detail messages.
- * @throws WSIException if the assertion result cannot be added to the report.
- */
- protected void addAssertionResult(
- String assertionId,
- String result,
- Vector failureDetailList)
- throws WSIException
- {
- // Create test assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set assertion, result and target
- assertionResult.setAssertion(profileArtifact.getTestAssertion(assertionId));
- assertionResult.setResult(result);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
- assertionResult.setFailureDetailList(failureDetailList);
-
- // Add it to the report
- reporter.addAssertionResult(assertionResult);
- }
-
- /**
- * Add missingInput assertion result to report.
- * @param testAssertion a test assertion.
- * @throws WSIException if there is any problem adding missingInput
- * assertion result to report.
- */
- protected void addMissingInputResult(TestAssertion testAssertion)
- throws WSIException
- {
- // Create test assertion result
- AssertionResult assertionResult = reporter.createAssertionResult();
-
- // Set assertion, result and target
- assertionResult.setAssertion(testAssertion);
- assertionResult.setResult(AssertionResult.RESULT_MISSING_INPUT);
- assertionResult.setEntry(reporter.getReport().getCurrentEntry());
-
- // Add it to the report
- reporter.addAssertionResult(assertionResult);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.BaseValidator#setAllMissingInput()
- */
- public void setAllMissingInput() throws WSIException
- {
- // If profile artifact is set
- if (profileArtifact != null)
- {
- TestAssertion testAssertion;
-
- // Create entry
- Entry entry = this.reporter.getReport().createEntry();
- entry.setArtifactName(this.reportArtifact.getType().getTypeName());
-
- // Add entry to artifact
- this.reportArtifact.addEntry(entry);
-
- // Add entry to report
- this.reporter.setCurrentEntry(entry);
-
- // Go through the list of test assertions for the artifact
- Iterator iterator = profileArtifact.getTestAssertionList().iterator();
- while (iterator.hasNext())
- {
- // Get next test assertion
- testAssertion = (TestAssertion) iterator.next();
-
- // Add missingInput result
- if (testAssertion.isEnabled())
- addMissingInputResult(testAssertion);
- }
-
- // Indicate that we are done with this assertion target
- this.reporter.endCurrentEntry();
- }
- }
-
- /**
- * Set all results for an entry type to missingInput.
- * @param entryType an EntryType object.
- * @throws WSIException if there is any problem while processing.
- */
- protected void setMissingInput(EntryType entryType) throws WSIException
- {
- TestAssertion testAssertion;
-
- // Create entry
- Entry entry = this.reporter.getReport().createEntry();
- entry.setEntryType(entryType);
- entry.setReferenceID("[" + entryType.getTypeName() + "]");
-
- // Add entry to artifact
- this.reportArtifact.addEntry(entry);
-
- // Add entry to report
- this.reporter.setCurrentEntry(entry);
-
- //try {
- // Go through the list of test assertions for the artifact
- Iterator iterator = profileArtifact.getTestAssertionList().iterator();
- while (iterator.hasNext())
- {
- // Get next test assertion
- testAssertion = (TestAssertion) iterator.next();
- if (testAssertion.isEnabled()
- && isPrimaryEntryTypeMatch(testAssertion, entry))
- {
- addMissingInputResult(testAssertion);
- }
- }
-
- // Indicate that we are done with this entry
- this.reporter.endCurrentEntry();
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java
deleted file mode 100644
index 4add15518..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/ProfileValidatorFactoryImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EnvelopeValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.ProfileValidatorFactory;
-import org.eclipse.wst.wsi.internal.core.profile.validator.UDDIValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.WSDLValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.EnvelopeValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.message.MessageValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi.UDDIValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl.WSDLValidatorImpl;
-
-/**
- * This class is an implementation of the WSILDocumentFactory.
- *
- * @version 1.0.1
- * @author: Peter Brittenham
- */
-public class ProfileValidatorFactoryImpl extends ProfileValidatorFactory
-{
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.ProfileValidatorFactory#newUDDIValidator()
- */
- public UDDIValidator newUDDIValidator() throws WSIException
- {
- // Create new UDDI validator
- UDDIValidator uddiValidator = new UDDIValidatorImpl();
- // Return validator
- return uddiValidator;
- }
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.ProfileValidatorFactory#newWSDLValidator()
- */
- public WSDLValidator newWSDLValidator() throws WSIException
- {
- // Create new WSDL validator
- WSDLValidator wsdlValidator = new WSDLValidatorImpl();
-
- // Return validator
- return wsdlValidator;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.ProfileValidatorFactory#newMessageValidator()
- */
- public MessageValidator newMessageValidator() throws WSIException
- {
- // Create new message validator
- MessageValidator messageValidator = new MessageValidatorImpl();
- // Return validator
- return messageValidator;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.ProfileValidatorFactory#newEnvelopeValidator()
- */
- public EnvelopeValidator newEnvelopeValidator() throws WSIException
- {
- // Create new envelope validator
- EnvelopeValidator envelopeValidator = new EnvelopeValidatorImpl();
- // Return validator
- return envelopeValidator;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java
deleted file mode 100644
index a7f2ebd07..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1920.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-
-/**
- * AP1920
- *
- * <context>For an envelope in a response message
- * containing a soap:Fault element</context>
- * <assertionDescription>In a description, if and only if, the wsdl:output
- * element is described using WSDL MIME binding, then the envelope in the
- * response message can contain faults with attachments.</assertionDescription>
- */
-public class AP1920 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1920(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
-
- // check for a fault element within the message
- if((entryContext.getMessageEntryDocument() == null) ||
- entryContext.getMessageEntryDocument().
- getElementsByTagNameNS(WSITag.ELEM_SOAP_FAULT.getNamespaceURI(),
- WSITag.ELEM_SOAP_FAULT.getLocalPart()).getLength() != 1)
- throw new AssertionNotApplicableException();
-
- BindingOperation bindingOperation = validator.getOperationMatch(
- EntryType.getEntryType(EntryType.TYPE_MESSAGE_REQUEST),
- entryContext.getRequestDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
- // If the envelope in a response message contains a fault with attachments
- // and the corresponding wsdl:output element in the description is not
- // described using the WSDL MIME binding, the assertion is failed
- if ((entryContext.getMessageEntry().getMimeParts().count() > 1) &&
- (getMultipartRelatedBindings(bindingOperation) == null))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail("The message contains \"" +
- entryContext.getMessageEntry().getMimeParts().count() + "\" part(s)",
- entryContext);
- }
- }
- catch(AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Returns Multipart related bindings, if does not found, returns null.
- * @param op binding operation
- * @return Multipart related bindings, if does not found, returns null.
- */
- private MIMEMultipartRelated getMultipartRelatedBindings(
- BindingOperation op)
- {
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = op.getBindingOutput().getExtensibilityElements();
- // check list on first element
- if((extElems == null) || (extElems.size() == 0) ||
- !(extElems.get(0) instanceof MIMEMultipartRelated))
- return null;
- return (MIMEMultipartRelated) extElems.get(0);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java
deleted file mode 100644
index 5965fcfa4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/AP1928.java
+++ /dev/null
@@ -1,426 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.xs.XSComplexTypeDefinition;
-import org.apache.xerces.xs.XSConstants;
-import org.apache.xerces.xs.XSElementDeclaration;
-import org.apache.xerces.xs.XSModel;
-import org.apache.xerces.xs.XSModelGroup;
-import org.apache.xerces.xs.XSObjectList;
-import org.apache.xerces.xs.XSParticle;
-import org.apache.xerces.xs.XSTerm;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * AP1928
- *
- * <context>For a candidate envelope containing a URI reference
- * that is typed using the ref:swaRef schema type</context>
- * <assertionDescription>In an envelope, a URI reference that is typed using
- * the ref:swaRef schema type resolves to a MIME part in the same message
- * as the envelope.</assertionDescription>
- */
-public class AP1928 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1928(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
- // get the rrot part of a multipart/related message
- Document root = entryContext.getMessageEntryDocument();
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
-
- // get an operation matched for the message
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(), root);
-
- // if no one operation matches, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // get the corresponding extensibility elements and message
- List extElems;
- Message message;
- if (MessageEntry.TYPE_REQUEST
- .equals(entryContext.getEntry().getEntryType()))
- {
- extElems = bindingOperation.getBindingInput() == null ? null
- : bindingOperation.getBindingInput().getExtensibilityElements();
- message = bindingOperation.getOperation().getInput() == null ? null
- : bindingOperation.getOperation().getInput().getMessage();
- }
- else
- {
- extElems = bindingOperation.getBindingOutput() == null ? null
- : bindingOperation.getBindingOutput().getExtensibilityElements();
- message = bindingOperation.getOperation().getOutput() == null ? null
- : bindingOperation.getOperation().getOutput().getMessage();
- }
-
- // If there are no extensibility elements in the WSDL binding operation,
- // the assertion is not applicable
- if (extElems == null || extElems.size() < 1)
- throw new AssertionNotApplicableException();
-
- // Collecting the names of schema elements that are defined
- // with the ref:swaRef schema type
- List swaRefs = getSwaRefs((ExtensibilityElement)extElems.get(0), message);
- // If such schema elements are not found, the assertion is not applicable
- if (swaRefs.isEmpty())
- throw new AssertionNotApplicableException();
-
- // Going through all the schema element names
- for (int i = 0; i < swaRefs.size(); i++)
- {
- QName elemName = (QName) swaRefs.get(i);
- // Looking for such elements in the root MIME part
- NodeList elems = root.getDocumentElement().getElementsByTagNameNS(
- elemName.getNamespaceURI(), elemName.getLocalPart());
- // Going through all the ref:swaRef references
- for (int j = 0; j < elems.getLength(); j++)
- {
- Node elem = elems.item(j);
- // Getting a value of this reference
- String ref = elem.getFirstChild() == null ? null
- : elem.getFirstChild().getNodeValue();
- // If the value is invalid, the assertion failed
- if (ref == null)
- throw new AssertionFailException("The element " + elem.getNodeName()
- + " of the ref:swaRef schema type is specified, but its vaule"
- + " is invalid.");
- // If the URI does not start with the "cid:" content-id prefix
- // The assertion failed
- if (!ref.startsWith("cid:"))
- {
- throw new AssertionFailException("The URI " + ref
- + " of the ref:swaRef schema type must use the cid: prefix.");
- }
- boolean refFound = false;
- Iterator iMimeParts = mimeParts.getParts().iterator();
- // Going through all the MIME parts of the SOAP message
- while (iMimeParts.hasNext())
- {
- MimePart mimePart = (MimePart)iMimeParts.next();
- // Getting part's Content-ID header
- String cid = MIMEUtils.getMimeHeaderAttribute(
- mimePart.getHeaders(), MIMEConstants.HEADER_CONTENT_ID);
- if (cid != null)
- {
- // If the header value equals the reference URI,
- // the corresponding MIME part is found
- if (cid.equals('<' + ref.substring(4) + '>'))
- {
- refFound = true;
- break;
- }
- }
- }
- // If the corresponding MIME part is not found
- // the assertion failed
- if (!refFound)
- throw new AssertionFailException("The SOAP message does not contain"
- + " a MIME part with the <" + ref.substring(4) + "> Content-ID.");
- }
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects names of schema elements that are defined with the ref:swaRef
- * schema type.
- * @param extElem a list of extensibility elements
- * @param message the corresponding message element.
- * @return a list of such names found.
- */
- private List getSwaRefs(ExtensibilityElement extElem, Message message)
- {
- List swaRefs = new ArrayList();
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the root mime:part
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- if (mimeParts.size() > 0)
- {
- // Getting extensibility elements of the first mime:part
- List elems = ((MIMEPart) mimeParts.get(0)).getExtensibilityElements();
- List boundParts = new ArrayList();
- // Going through all the MIME part's extensibility elements
- for (int k = 0; k < elems.size(); k ++)
- {
- ExtensibilityElement elem = (ExtensibilityElement) elems.get(k);
- // If that is a soap:body
- if (elem.getElementType().equals(WSDL_SOAP_BODY) && message != null)
- {
- // Getting parts specified by the parts attribute
- List bodyParts = ((SOAPBody) elem).getParts();
- // Collecting all the message parts bound by this soapbind:body
- Iterator i = message.getParts().values().iterator();
- while (i.hasNext())
- {
- Part part = (Part) i.next();
- if (bodyParts == null || bodyParts.contains(part.getName()))
- {
- boundParts.add(part);
- }
- }
- }
- // else if that is a soap:header
- else if (elem.getElementType().equals(WSDL_SOAP_HEADER))
- {
- QName msgName;
- String partName;
- if (elem instanceof SOAPHeader)
- {
- SOAPHeader header = (SOAPHeader) elem;
- // If the part is bound by this element
- msgName = header.getMessage();
- partName = header.getPart();
- }
- // WSDL4J 1.4 does not recognize soap:header elements that
- // are enclosed in mime:multipartRelated, so using a workaround
- else
- {
- Element header =
- ((UnknownExtensibilityElement) elem).getElement();
- // Getting the element's message attribute
- String msgVal = header.getAttribute("message");
- // finding the colon delimiter
- int colonPos = msgVal.indexOf(":");
- String ns = null;
- // Getting a local part
- String lp = colonPos > -1 ? msgVal.substring(colonPos + 1) : msgVal;
- // If the delimiter is found
- if (colonPos > -1)
- {
- // Retrieving a namespace URI
- ns = validator.getWSDLDocument()
- .getDefinitions().getNamespace(msgVal.substring(0, colonPos));
- }
- msgName = new QName(ns, lp);
- partName = header.getAttribute("part");
- }
- // Getting a message referenced by this soapbind:header element
- Message msg =
- validator.getWSDLDocument().getDefinitions().getMessage(msgName);
- if (msg != null)
- {
- // Adding the part to the list of bound parts
- Part part = msg.getPart(partName);
- if (part != null)
- boundParts.add(part);
- }
- }
- }
-
- // All the bound parts from soapbind:body and soapbind:header
- // are collected, finding swaRef references.
- for (int i = 0; i < boundParts.size(); i++)
- {
- Part part = (Part) boundParts.get(i);
- QName ref;
- short type;
- // Getting either part's element reference or type reference
- if ((ref = part.getTypeName()) != null)
- {
- type = XSConstants.TYPE_DEFINITION;
- }
- else if ((ref = part.getElementName()) != null)
- {
- type = XSConstants.ELEMENT_DECLARATION;
- }
- // The part conatins neither element nor type attribute,
- // proceeding with the next part
- else
- {
- continue;
- }
- // Getting a list of schemas defined
- Map schemas = validator.getWSDLDocument().getSchemas();
- // Going through the schemas
- Iterator it = schemas.values().iterator();
- while (it.hasNext())
- {
- XSModel xsModel = (XSModel) it.next();
- XSTypeDefinition xsType = null;
- // Getting the corresponding part type
- if (type == XSConstants.ELEMENT_DECLARATION)
- {
- // Getting schema element
- XSElementDeclaration elem = xsModel.getElementDeclaration(
- ref.getLocalPart(), ref.getNamespaceURI());
- if (elem != null)
- {
- // Getting element's type
- xsType = elem.getTypeDefinition();
- // If it is ref:swaRef
- if (WSIConstants.NS_URI_SWA_REF.equals(xsType.getName())
- && WSIConstants.SCHEMA_TYPE_SWA_REF.equals(
- xsType.getNamespace()))
- {
- // Adding the name of the element to the list
- swaRefs.add(
- new QName(elem.getNamespace(), elem.getName()));
- }
- }
- }
- else
- {
- xsType = xsModel.getTypeDefinition(
- ref.getLocalPart(), ref.getNamespaceURI());
- }
- // Collecting all the element names,adding element names to the list
- swaRefs.addAll(collectSwaRefs(xsType));
- }
- }
- }
- }
- return swaRefs;
- }
-
- /**
- * Collects names of schema elements that are defined with the ref:swaRef
- * schema type.
- * @param xsType a schema type.
- * @return a list of names found.
- */
- private List collectSwaRefs(XSTypeDefinition xsType)
- {
- List swaRefs = new ArrayList();
- if (xsType != null)
- {
- // If this is a complex type
- if (xsType.getTypeCategory() == XSTypeDefinition.COMPLEX_TYPE)
- {
- XSComplexTypeDefinition xsComplexType =
- (XSComplexTypeDefinition) xsType;
- // If it contains mixed context
- if (xsComplexType.getParticle() != null)
- {
- // collecting element names
- swaRefs.addAll(collectSwaRefs(xsComplexType.getParticle().getTerm()));
- }
- }
- }
- return swaRefs;
- }
-
- /**
- * Collects names of schema elements that are defined with the ref:swaRef
- * schema type.
- * @param term a schema term.
- * @return a list of names found.
- */
- private List collectSwaRefs(XSTerm term)
- {
- List swaRefs = new ArrayList();
- // If a term is an element declaration
- if (term.getType() == XSConstants.ELEMENT_DECLARATION)
- {
- XSElementDeclaration elem = (XSElementDeclaration) term;
- XSTypeDefinition xsType = elem.getTypeDefinition();
- // If element's type is ref:swaRef
- if (WSIConstants.NS_URI_SWA_REF.equals(xsType.getNamespace())
- && WSIConstants.SCHEMA_TYPE_SWA_REF.equals(xsType.getName()))
- {
- // Add element's name to the list
- swaRefs.add(
- new QName(elem.getNamespace(), elem.getName()));
- }
- else
- {
- // else collecting element names from element's type
- swaRefs.addAll(collectSwaRefs(xsType));
- }
- }
- // else if a term is a model group
- else if(term.getType() == XSConstants.MODEL_GROUP)
- {
- // Getting a list of Particle schema components
- XSObjectList list = ((XSModelGroup) term).getParticles();
- for (int i = 0; i < list.getLength(); i++)
- {
- // Collecting element names
- swaRefs.addAll(collectSwaRefs(((XSParticle) list.item(i)).getTerm()));
- }
- }
- return swaRefs;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java
deleted file mode 100644
index 7aa465d13..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1005.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1005.
- */
-public class BP1005 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1005(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If this is a fault mesage, then it is not applicable
- if (this.validator.isFault(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- // Check if there is a soap body element
- if (!this.validator.containsSoapBodyWithChild(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
- if (match == null)
- throw new AssertionNotApplicableException();
-
- BindingOperation bindingOperation = match.getOperation();
-
- // Is rpc style?
- if (!WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- throw new AssertionNotApplicableException();
-
- List extElements = null;
-
- if (bindingOperation.getBindingOutput() != null)
- extElements =
- bindingOperation.getBindingOutput().getExtensibilityElements();
-
- // Is message RPC-literal?
- if (!validator.isLiteral(extElements))
- throw new AssertionNotApplicableException();
-
- //Get message
-
- // Gets body
- NodeList soapBodyList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
- {
- // There is not a body or more than one bodies in the envlope.
- throw new AssertionFailException();
- }
- Element soapBodyElem = (Element) soapBodyList.item(0);
-
- // Find wrapper element in the body
- Element wrapperElement = XMLUtils.getFirstChild(soapBodyElem);
- if (wrapperElement == null)
- {
- throw new AssertionFailException();
- }
-
- if (wrapperElement
- .getLocalName()
- .equals(bindingOperation.getName() + "Response"))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- }
-
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java
deleted file mode 100644
index 469486968..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1007.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-
-
-/**
- * BP1007
- *
- * <context>For a candidate message, in the message log file</context>
- * <assertionDescription>DTDs relating to soap:header or soap:body documents, are not present in the message: no DOCTYPE element is present.</assertionDescription>
- */
-public class BP1007 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1007(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Parse log message
- Document doc = entryContext.getMessageEntryDocument();
- if (doc == null)
- {
- // message is empty or invalid, the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // else if the message contains a Document Type Declaration, the assertion failed
- else if (doc.getDoctype() != null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- testAssertion.getFailureDetailDescription(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java
deleted file mode 100644
index 21202362e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1008.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1008.
- * Message has part accessor elements for parameters and return value, in no namespaces,
- * but the children of these are namespace qualified with the same targetNamespace with which
- * their types are defined.
- */
-public class BP1008 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1008(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
-
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
-
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If there is no message, then throw fail exception
- if (doc == null)
- throw new AssertionFailException();
-
- if (this.validator.isFault(doc))
- {
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
- }
-
- // Check if there is a soap body element
- if (!this.validator.containsSoapBodyWithChild(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- // get SOAPAction
- String action =
- validator.getSoapAction(entryContext.getRequest().getHTTPHeaders());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- //Definition definition = entryContext.getAnalyzerContext().getCandidateInfo().getDefinitions()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
- if (match == null)
- throw new AssertionNotApplicableException();
-
- BindingOperation bindingOperation = match.getOperation();
-
- // Is rpc style?
- if (!WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
-
- // Gets body
- NodeList soapBodyList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
- {
- // There is not a body or more than one bodies in the envlope.
- throw new AssertionFailException();
- }
- Element soapBodyElem = (Element) soapBodyList.item(0);
-
- result = null;
-
- // Find operation in the body
- Element soapOperation = XMLUtils.getFirstChild(soapBodyElem);
- if (soapOperation == null)
- {
- throw new AssertionFailException();
- }
-
- // Find operation message and ext. elements in the binding
- Message operationMessage = null;
- List extElements = null;
- if (MessageEntry
- .TYPE_REQUEST
- .equals(entryContext.getMessageEntry().getType()))
- {
- operationMessage =
- bindingOperation.getOperation().getInput().getMessage();
- if (bindingOperation.getBindingInput() != null)
- extElements =
- bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else
- {
- if (MessageEntry
- .TYPE_RESPONSE
- .equals(entryContext.getMessageEntry().getType()))
- {
- operationMessage =
- bindingOperation.getOperation().getOutput().getMessage();
- if (bindingOperation.getBindingOutput() != null)
- extElements =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- }
- }
-
- // Is message RPC-literal?
- if (!validator.isLiteral(extElements))
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
-
- // gets first child of message
- Element soapMessagePart = XMLUtils.getFirstChild(soapOperation);
- if (soapMessagePart == null)
- {
- throw new AssertionPassException();
- }
-
- while (soapMessagePart != null)
- {
- // check whether part accessor or return are in no namespace
-
- if (soapMessagePart.getNamespaceURI() != null
- || "".equals(soapMessagePart.getNamespaceURI()))
- {
- throw new AssertionFailException();
- }
-
- // check whether children are namespace qualified
- // with the same targetNamespace with which their types are defined
- String typesTargetNS =
- getTypeNS(operationMessage, soapMessagePart.getLocalName());
-
- if (typesTargetNS == null)
- throw new AssertionFailException();
-
- if (!checkChildrenNamespace(soapMessagePart, typesTargetNS))
- {
- throw new AssertionFailException();
- }
-
- soapMessagePart = XMLUtils.getNextSibling(soapMessagePart);
- }
-
- result = AssertionResult.RESULT_PASSED;
-
- }
- catch (AssertionFailException e)
- {
- if (e.getMessage() != null && e.getMessage().length() > 0)
- result = e.getMessage();
- else
- result = AssertionResult.RESULT_FAILED;
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- if (result == AssertionResult.RESULT_FAILED)
- {
- failureDetail = this.validator.createFailureDetail(null, entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Gets part type NS.
- * @param message
- * @param partName
- * @return String
- */
- private String getTypeNS(Message message, String partName)
- {
- Part part = message.getPart(partName);
- if (part == null)
- return null;
- else
- return part.getTypeName().getNamespaceURI();
- }
-
- /**
- * Checks children elements' namespace.
- * @param node
- * @param typesTargetNS
- * @return boolean
- */
-
- private boolean checkChildrenNamespace(Element node, String typesTargetNS)
- {
- NodeList parts = node.getElementsByTagName("*");
- for (int i = 0; i < parts.getLength(); i++)
- {
- Element part = (Element) parts.item(i);
- if (!typesTargetNS.equals(part.getNamespaceURI()))
- {
- return false;
- }
- if (!checkChildrenNamespace(part, typesTargetNS))
- {
- return false;
- }
- }
- return true;
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java
deleted file mode 100644
index 32e401b07..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1009.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.OperationType;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1009.
- * Message includes all soapbind:headers specified in the wsdl:input
- * (if request) or wsdl:output (if response) of the operation referred
- * to by its wsdl:binding, and may also include headers that were not specified.
- */
-public class BP1009 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1009(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (this.validator.isOneWayResponse(entryContext))
- {
- throw new AssertionNotApplicableException();
- }
-
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
-
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- if (doc == null || docRequest == null)
- throw new AssertionNotApplicableException();
-
- // Check if there is a soap body element
- if (!this.validator.containsSoapBodyWithChild(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- if (this.validator.isFault(doc))
- {
- throw new AssertionFailException(
- AssertionResult.RESULT_NOT_APPLICABLE);
- }
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
-
- if (match == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- BindingOperation bindingOperation = match.getOperation();
-
- // If this is a one-way operation and we are processing a response, then set result to notApplicable
- if (bindingOperation
- .getOperation()
- .getStyle()
- .equals(OperationType.ONE_WAY)
- && (entryContext
- .getMessageEntry()
- .getType()
- .equals(MessageEntry.TYPE_RESPONSE)))
- {
- throw new AssertionNotApplicableException();
- }
-
- // find body
- NodeList soapBodyList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
- {
- // There is not a body or more than one bodies in the envlope.
- throw new AssertionPassException();
- }
- // find headers
- NodeList soapHeaders =
- doc.getElementsByTagNameNS(
- WSITag.ELEM_SOAP_HEADER.getNamespaceURI(),
- WSITag.ELEM_SOAP_HEADER.getLocalPart());
-
- //find all operation
- //Element soapOperation = XMLUtils.getFirstChild(soapBodyElem);
-
- // gets soapbind:headers
- List bindingHeaders = null;
- if (entryContext
- .getMessageEntry()
- .getType()
- .equals(MessageEntry.TYPE_REQUEST))
- {
- if (bindingOperation.getBindingInput() != null)
- bindingHeaders =
- bindingOperation.getBindingInput().getExtensibilityElements();
- else
- throw new AssertionFailException();
-
- }
- else
- {
- if (entryContext
- .getMessageEntry()
- .getType()
- .equals(MessageEntry.TYPE_RESPONSE))
- {
- if (bindingOperation.getBindingOutput() != null)
- bindingHeaders =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- else
- throw new AssertionFailException();
- }
- }
- if (bindingHeaders == null || bindingHeaders.size() == 0)
- {
- throw new AssertionPassException();
- }
-
- Iterator iterator = bindingHeaders.iterator();
- while (iterator.hasNext())
- {
- Object bindingHeader = iterator.next();
- if (bindingHeader instanceof SOAPHeader)
- {
- // find soapbind:header in SOAP message
- if (!isBindingHeaderInSOAPMessage(entryContext,
- soapHeaders,
- (SOAPHeader) bindingHeader))
- {
- throw new AssertionFailException();
- }
- }
- }
-
- result = AssertionResult.RESULT_PASSED;
-
- }
- catch (AssertionFailException e)
- {
- if (e.getMessage() != null && e.getMessage().length() > 0)
- result = e.getMessage();
- else
- result = AssertionResult.RESULT_FAILED;
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- if (result == AssertionResult.RESULT_FAILED)
- {
- failureDetail = this.validator.createFailureDetail(null, entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether specified SOAPHeader is in the SOAPMessage.
- * @param soapHeaderList
- * @param SOAPHeader
- * @return boolean
- */
- private boolean isBindingHeaderInSOAPMessage(
- EntryContext entryContext,
- NodeList soapHeaders,
- SOAPHeader bindingHeader)
- {
-
- Message msg = getMessageByQName(entryContext, bindingHeader.getMessage());
- if (msg == null)
- return false;
-
- Part part = msg.getPart(bindingHeader.getPart());
- if (part == null)
- return false;
-
- QName partElementName = part.getElementName();
- QName partTypeName = part.getTypeName();
-
- if (partTypeName == null && partElementName == null)
- return false;
-
- if (soapHeaders == null || soapHeaders.getLength() == 0)
- {
- return false;
- }
- Vector headersList =
- XMLUtils.getChildElements((Element) soapHeaders.item(0));
-
- for (int indexHeader = 0;
- indexHeader < headersList.size();
- indexHeader++)
- {
- Element soapHeaderPart = (Element) headersList.get(indexHeader);
- if (soapHeaderPart != null)
- {
- QName soapHeaderPartQName =
- new QName(
- soapHeaderPart.getNamespaceURI(),
- soapHeaderPart.getLocalName());
- if ((partTypeName != null
- && partTypeName.equals(soapHeaderPartQName))
- || (partElementName != null
- && partElementName.equals(soapHeaderPartQName)))
- {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Gets message by QName.
- * @param entryContext
- * @param messageName
- * @return Message
- */
- private Message getMessageByQName(
- EntryContext entryContext,
- QName messageName)
- {
- Definition[] defs = validator.analyzerContext.getCandidateInfo().getDefinitions();
- for (int i = 0; i < defs.length; i++)
- {
- Message msg = defs[i].getMessage(messageName);
- if (msg != null)
- return msg;
- }
- return null;
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java
deleted file mode 100644
index 3a37ab6c9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1011.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP1011.
- */
-public class BP1011 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1011(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // TODO need to handle soap with attachments
- if (entryContext.getMessageEntry().isMimeContent())
- throw new AssertionNotApplicableException();
-
- Binding[] bindings = validator.analyzerContext.getCandidateInfo().getBindings();
-
- // get soap message child name
- // Get the DOM contents of the message soap:body (if non-empty)
- Document messageDoc = null;
-
- QName messagePartElementQName = null;
-
- if (!entryContext.getMessageEntry().getMessage().equals(""))
- {
- messageDoc = entryContext.getMessageEntryDocument();
- //messageDoc = XMLUtils.parseXML(entryContext.getMessageEntry().getMessage(),
- // WSIProperties.DEF_SOAP_SCHEMA);
- // get soap operation name from the soap:body
-
- // NOTE: getSoapBodyChild() may return null, if the soap:body did not contain any child elements
- Element soapMessageElement = validator.getSoapBodyChild(messageDoc);
-
- // for doc-lit... find the wsdl:part from one of the specified operations that has
- // the soap element used in the message.
- // we are looking for a part with an element attrib val matching the soap message element
- if (soapMessageElement != null)
- {
- messagePartElementQName =
- new QName(
- soapMessageElement.getNamespaceURI(),
- soapMessageElement.getLocalName());
- }
- }
-
- if ((messageDoc == null) || this.validator.isFault(messageDoc))
- {
- // empty messages and fault messages do not qualify for this TA
- throw new AssertionNotApplicableException();
- }
-
- // look for match(s) in doc operations
- // if found, we're done, else
- // look for match(s) in rpc operations
-
- /* Doc-lit
- * get list of operations (from candidates) for which the first soap:body child QName is the
- * <part element="..."> value of that operation's <wsdl:input> or <wsdl:output> element (depending
- * on whether message is a request or a response).
- */
-
- BindingOperation[] docBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- bindings);
- // list of operations that match the <wsdl:input> or <wsdl:output> (depending on entryType)
- // for part element="..."
- // (ISSUE: what about part type="..."?)
- BindingOperation[] potentialDocLitOps =
- validator.getDocLitOperations(
- entryContext.getEntry().getEntryType(),
- messagePartElementQName,
- docBindingOperations);
- if (potentialDocLitOps.length != 0)
- {
- // found at least one doc lit match
-
- // *** Now we know it's document-literal, schema-validate the SOAP payload accordingly
- try
- {
- this.validator.messageIsDocLitSchemaValid(entryContext);
- }
- catch (Exception e)
- {
- throw new AssertionFailException(e.getMessage());
- }
- throw new AssertionPassException();
- }
-
- /* soap message is not doc-lit so try :
- * Rpc-lit
- */
- BindingOperation[] rpcBindingOperations =
- this.validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- bindings);
-
- // Determine if there is an operation match
- BindingOperation rcpOpMatch =
- this.validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- messageDoc,
- rpcBindingOperations);
- if (rcpOpMatch != null)
- {
- // Determine if the parts match
- rcpOpMatch =
- this.validator.getOperationPartsMatch(
- entryContext.getEntry().getEntryType(),
- messageDoc,
- rpcBindingOperations);
- }
-
- if (rcpOpMatch == null)
- {
- //not matched with rpc either. Prepare assertion failure.
- StringBuffer rpcOperationList = new StringBuffer();
- for (int i = 0; i < rpcBindingOperations.length; i++)
- {
- rpcOperationList.append(rpcBindingOperations[i].toString() + "\n");
- }
-
- StringBuffer docOperationList = new StringBuffer();
- for (int i = 0; i < docBindingOperations.length; i++)
- {
- docOperationList.append(docBindingOperations[i].toString() + "\n");
- }
-
- throw new AssertionFailException(
- "--MESSAGE:\n"
- + entryContext.getMessageEntry().getMessage()
- + "\n--CANDIDATE RPC STYLE OPERATIONS ("
- + (rpcBindingOperations.length != 0
- ? (rpcBindingOperations.length + "):\n" + rpcOperationList)
- : "NONE)")
- + "\n--CANDIDATE DOCUMENT STYLE OPERATIONS ("
- + (docBindingOperations.length != 0
- ? (docBindingOperations.length + "):\n" + docOperationList)
- : "NONE)"));
-
- }
- }
- catch (AssertionPassException e)
- {
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
-
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java
deleted file mode 100644
index 115d4efe4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1012.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1012.
- */
-public class BP1012 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1012(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // look for <soap:Envelope> elements:
- // (Note: since this is a Soap message we expect exactly one soap envelope, but we do not assume it).
- Document requestDoc = entryContext.getRequestDocument();
-
- // message is empty or invalid, the assertion is not applicable
- if (requestDoc == null)
- throw new AssertionNotApplicableException();
-
- Element envElem = requestDoc.getDocumentElement();
- //NodeList soapEnvList = requestDoc.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Envelope");
-
- // If the document element tag name is not Envelope
- // or the namespace is http://schemas.xmlsoap.org/soap/envelope/
- if (!envElem.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE)
- || envElem.getNamespaceURI().equals(WSIConstants.NS_URI_SOAP))
- // Request contains proper soap Envelope element
- throw new AssertionNotApplicableException();
-
- // we expect a Soap Fault as a response
- Document responseDoc =
- XMLUtils.parseXML(entryContext.getResponse().getMessage());
- NodeList soapFaultList =
- responseDoc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- "Fault");
- // ADD extra check here that the <soap:Fault> is a child of <soap:Envelope> ??
- if ((soapFaultList == null) || (soapFaultList.getLength() == 0))
- {
- // No Soap fault found.
- // Assertion failed (ADD highlight the child here ?)
- throw new AssertionFailException(
- "--- REQUEST:\n"
- + entryContext.getRequest().getMessage()
- + "\n--- RESPONSE:\n"
- + entryContext.getResponse().getMessage());
- }
-
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java
deleted file mode 100644
index eb6f8eb54..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1013.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-
-
-/**
- * BP1013.
- */
-public class BP1013 extends BP1011
-{
- /**
- * @param BaseMessageValidator
- */
- public BP1013(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java
deleted file mode 100644
index cfbdafbc0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1031.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-
-/**
- * BP1031.
- *
- * @author: Graham Turrell, IBM UK
- */
-public class BP1031 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1031(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- failureDetail = null;
- try
- {
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- if (!this.validator.isFault(doc))
- {
- throw new AssertionNotApplicableException();
- }
-
- NodeList faultCodes = doc.getElementsByTagName("faultcode");
- for (int i = 0; i < faultCodes.getLength(); i++)
- {
- NodeList faultCodeNodes = (faultCodes.item(i)).getChildNodes();
- for (int j = 0; j < faultCodeNodes.getLength(); j++)
- {
- if (faultCodeNodes.item(j) instanceof Text)
- {
- Text faultCodeText = (Text) faultCodeNodes.item(j);
- if (faultCodeText.getData().indexOf('.') > 0)
- {
- throw new AssertionFailException();
- // dotted notation used.
- }
- }
- }
- }
-
- throw new AssertionPassException();
- // no dotted notation used in a faultcode element
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java
deleted file mode 100644
index 47413072a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1032.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-
-/**
- * BP1032
- *
- * <context>For a candidate envelope</context>
- * <assertionDescription>The soap:Envelope, soap:Header, and soap:Body elements do not have any attributes in the namespace "http://schemas.xmlsoap.org/soap/envelope/"</assertionDescription>
- */
-public class BP1032 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1032(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- throw new AssertionNotApplicableException();
-
- // Getting a root element
- Element element = doc.getDocumentElement();
-
- // Assuming that root element should be soap:Envelope
- // If not, the assertion is not applicable
- if (!element.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE))
- throw new AssertionNotApplicableException();
-
- // looking for any attribute of soap:Envelope in the namespace
- // "http://schemas.xmlsoap.org/soap/envelope/"
- // If at least one attribute is found, the assertion failed
- Attr attr = getAttribute(element.getAttributes());
- if (attr != null)
- throw new AssertionFailException("soap:Envelope attribute name is "
- + attr.getName());
-
- // Getting the first child of soap:Envelope
- element = XMLUtils.getFirstChild(element);
-
- // If the child is soap:Header
- if (element != null
- && element.getLocalName().equals(XMLUtils.SOAP_ELEM_HEADER))
- {
- // looking for any attribute of soap:Header in the namespace
- // "http://schemas.xmlsoap.org/soap/envelope/"
- // If at least one attribute is found, the assertion failed
- attr = getAttribute(element.getAttributes());
- if (attr != null)
- throw new AssertionFailException("soap:Header attribute name is "
- + attr.getName());
-
- // Moving to the next soap:Envelope child
- element = XMLUtils.getNextSibling(element);
- }
-
- // If the child is soap:Body
- if (element != null
- && element.getLocalName().equals(XMLUtils.SOAP_ELEM_BODY))
- {
- // looking for any attribute of soap:Body in the namespace
- // "http://schemas.xmlsoap.org/soap/envelope/"
- // If at least one attribute is found, the assertion failed
- attr = getAttribute(element.getAttributes());
- if (attr != null)
- throw new AssertionFailException("soap:Body attribute name is "
- + attr.getName());
- }
-
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for an attribute that is in the namespace
- * http://schemas.xmlsoap.org/soap/envelope/
- * @param attrs a collection of attributes
- * @return an attribute in the specified namespace or null
- */
- private Attr getAttribute(NamedNodeMap attrs)
- {
- Attr ret = null;
- if (attrs != null)
- {
- for(int i = 0; i < attrs.getLength(); i++)
- {
- Attr attr = (Attr) attrs.item(i);
- if (attr.getNamespaceURI() != null
- && attr.getNamespaceURI().equals(WSIConstants.NS_URI_SOAP))
- {
- ret = attr;
- break;
- }
- }
- }
-
- return ret;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java
deleted file mode 100644
index 12ec8a11b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1033.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1033
- *
- * <context>For a candidate envelope</context>
- * <assertionDescription>The SOAP envelope does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".</assertionDescription>
- */
-public class BP1033 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1033(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the root element
- Element elem = doc.getDocumentElement();
- // If it is not the soap:Envelope, the assertion is not applicable
- if (!elem.getNamespaceURI().equals(WSIConstants.NS_URI_SOAP)
- || !elem.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE))
- {
- throw new AssertionNotApplicableException();
- }
-
- // If the envelope contains the xmlns:xml namespace declaration,
- // the assertion failed
- String incorrectElementName = getIncorrectElementName(elem);
- if (incorrectElementName != null)
- {
- throw new AssertionFailException("The name of an element containing "
- + "such namespace declaration is \"" + incorrectElementName + "\".");
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for any element that contains the attribute xmlns:xml="http://www.w3.org/XML/1998/namespace".
- * @param elem the root element.
- * @return the name of an element found or null.
- */
- private String getIncorrectElementName(Element elem)
- {
- // Getting a value of the attribute xmlns:xml
- String attrValue = elem.getAttributeNS(
- WSIConstants.NS_URI_XMLNS, "xml");
- // If it equals to "http://www.w3.org/XML/1998/namespace",
- // return an element name;
- if (WSIConstants.NS_URI_XML.equals(attrValue))
- {
- return elem.getNodeName();
- }
- // Going through element's children
- Element child = XMLUtils.getFirstChild(elem);
- while (child != null)
- {
- // If any of them has xmlns:xml attribute, return a value
- String name = getIncorrectElementName(child);
- if (name != null)
- {
- return name;
- }
- // Getting the next element's child
- child = XMLUtils.getNextSibling(child);
- }
- // No xmlns:xml attributes found, return null
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java
deleted file mode 100644
index 12bad72bf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1100.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1100.
- * A message that does not contain a SOAP fault SHOULD use a "200 OK"
- * HTTP status code.
- */
-public class BP1100 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1100(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Fault> element:
- Document doc = entryContext.getMessageEntryDocument();
- if (doc == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- Element root = doc.getDocumentElement();
- NodeList faultList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Fault");
-
- // If response does not contain a soap:Fault, then check it
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:Fault
- // check HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
- if (!"200".equals(httpStatus))
- {
- result = AssertionResult.RESULT_WARNING;
- //failureDetailMessage = entryContext.getMessageEntry().getMessage();
- failureDetail =
- this.validator.createFailureDetail(
- "\nResponse message:\nHeaders:\n"
- + entryContext.getMessageEntry().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
-
- // If it is a soap:Fault, then the result must be notApplicable
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java
deleted file mode 100644
index 11c86917d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1107.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.io.StringWriter;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Fault;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.NullUtil;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP1107.
- * The contained soapbind:fault is defined in the wsdl:binding.
- */
-public class BP1107 extends AssertionProcessVisitor
-{
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1107(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private OperationSignature responseSig = null;
- private Vector faults = null;
-
- /**
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPFault, Object, WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- String faultName = fault.getName();
-
- if (faultName == null)
- faultName = ctx.getBindingFault().getName();
-
- Operation op = ctx.getBindingOperation().getOperation();
- if (op == null /* || faultName == null*/
- ) // may be it's possible to have legal fault with null name
- return;
-
- // we suppose that SOAPFault.getName() corresponds to the abstract operation's fault name
- Fault f = op.getFault(faultName);
- if (f == null)
- return;
-
- Message m = f.getMessage();
- // message should have only one part
- if (m == null || m.getParts() == null || m.getParts().size() != 1)
- return;
-
- //Part faultPart = WSDLUtil.getPart(m, faultName);
- Part faultPart = (Part) m.getParts().values().iterator().next();
-
- TypesRegistry tReg = (TypesRegistry) ctx.getParameter("TypesRegistry");
- QName elemQName = faultPart.getElementName();
- QName typeQName = faultPart.getTypeName();
- if (typeQName == null)
- typeQName = tReg.getType(faultPart.getElementName());
- if (typeQName == null)
- throw new IllegalArgumentException("Part type can not be null.");
-
- // for all faults; if it presents in the definition remove it from list
- for (int i = 0; i < faults.size();)
- {
- Element elem = (Element) faults.get(i);
-
- // TODO: I don't understand why this is here. Only the element setting should be checked.
- //boolean matchByType =
- // elem.getLocalName().equals(typeQName.getLocalPart()) && NullUtil.equals(elem.getNamespaceURI(), typeQName.getNamespaceURI());
-
- boolean matchByElement =
- elemQName != null
- && elem.getLocalName().equals(elemQName.getLocalPart())
- && NullUtil.equals(
- elem.getNamespaceURI(),
- elemQName.getNamespaceURI());
-
- //if (matchByType || matchByElement)
- if (matchByElement)
- faults.remove(i);
- else
- i++;
- }
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // Parse request and response message
- Document docRequest = entryContext.getRequestDocument();
- Document docResponse = entryContext.getMessageEntryDocument();
-
- if ((docRequest == null) || (docResponse == null))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else if (!this.validator.isFault(docResponse))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // create request signature
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- this.validator.getSoapAction(entryContext.getRequest().getHTTPHeaders()),
- validator.analyzerContext.getCandidateInfo().getBindings()[0],
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator));
-
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- if (match != null)
- {
- // MOVED: Parse response message
- //doc = entryContext.getMessageEntryDocument();
-
- responseSig = new OperationSignature(docResponse);
- if (WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- responseSig.createRPCSignature();
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPFault(true);
- traversal.ignoreBindingInput();
- traversal.ignoreBindingOutput();
-
- if (responseSig == null || !responseSig.isFault())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else if (responseSig != null && responseSig.isFault())
- {
- // extract all faults and try find them in the definition
- // extracts only faults with namespace
- Element body =
- XMLUtils.findChildElement(
- docResponse.getDocumentElement(),
- WSITag.ELEM_SOAP_BODY);
- Element fault =
- XMLUtils.findChildElement(body, WSITag.ELEM_SOAP_FAULT);
- Element detail = XMLUtils.getElement("detail", fault);
- if (detail == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- result = AssertionResult.RESULT_PASSED;
-
- faults = XMLUtils.getChildElements(detail);
-
- // REMOVE: Why do the faults have to be namespaced qualified?
- //XMLUtils.removeAllElementsWithoutNS(faults);
-
- // if faults exist try to validate it
- if (faults.size() > 0)
- {
- Map m = new HashMap();
- WSDLUtil.expandDefinition(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions());
- m.put(
- "definition",
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions());
- TypesRegistry tReg =
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator);
- m.put("TypesRegistry", tReg);
- traversal.traverse(match.getOperation(), m);
- if (faults.size() > 0)
- {
- result = AssertionResult.RESULT_WARNING;
- StringWriter sw = new StringWriter();
- for (int i = 0; i < faults.size(); i++)
- {
- try
- {
- XMLUtils.serializeElement((Element) faults.get(i), sw);
- }
- catch (Exception e)
- {
- }
- }
- try
- {
- sw.close();
- }
- catch (Exception e)
- {
- }
- failureDetail =
- this.validator.createFailureDetail(
- "\nFaults:\n" + sw.toString(),
- entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
- }
- }
- }
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java
deleted file mode 100644
index 7af6934b4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1201.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP1201.
- * The namespace of the soap:Envelope in the message has value: http://schemas.xmlsoap.org/soap/envelope/.
- */
-public class BP1201 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1201(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- Document doc;
- // Check if this is one way response or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext) ||
- (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- Element root = doc.getDocumentElement();
- String ns = root.getNamespaceURI();
- String local = root.getLocalName();
- if (!ELEM_SOAP_ENVELOPE.getNamespaceURI().equals(ns))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "Root element has namespace: " + ns, entryContext);
- }
-
- else if (!ELEM_SOAP_ENVELOPE.getLocalPart().equals(local))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "Root element has local name: " + local, entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java
deleted file mode 100644
index a5abee105..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1202.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1202.
- * Each child element (if any) of the soap:Body element is namespace qualified (not the grandchildren).
- */
-public class BP1202 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1202(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Parse log message
- Document doc = entryContext.getMessageEntryDocument();
-
- if (validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Check if there is a soap body element
- else if (!validator.containsSoapBodyWithChild(doc))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // Get the root element
- Element root = doc.getDocumentElement();
-
- // Get a node list which should contain the soap:Body element
- NodeList rootNodeList = root.getElementsByTagNameNS(
- ELEM_SOAP_BODY.getNamespaceURI(), ELEM_SOAP_BODY.getLocalPart());
-
- // If there is at least one soap:Body element,
- // then make sure that each child is namespace qualified
- if (rootNodeList.getLength() > 0)
- {
- // Get the soap:Body element
- Element body = (Element) rootNodeList.item(0);
-
- // Get the list of soap:Body child elements
- NodeList children = body.getChildNodes();
-
- // Make sure that each child element is namespace qualified
- for (int i = 0;
- i < children.getLength() && result == AssertionResult.RESULT_PASSED;
- ++i)
- {
- Node n = children.item(i);
- if (n instanceof Element)
- {
- String ns = n.getNamespaceURI();
- if (ns == null || ns.length() == 0)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- entryContext.getMessageEntry().getMessage(), entryContext);
- }
- }
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java
deleted file mode 100644
index 8470acb61..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1203.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1203.
- * The namespace of the detail element of a qualified attribute in the soap:Fault is a
- * foreign namespace, different from "http://schemas.xmlsoap.org/soap/envelope/".
- */
-public class BP1203 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1203(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- boolean qualifiedAttributes = false;
-
- Document doc;
- // Check if this is one way response or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // ADD: Need to determine if this check is required, since it should already be done
- // Applicable to response messages only
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_RESPONSE))
- {
- // look for <soap:Fault> element:
- NodeList faultList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_FAULT);
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:Fault
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // we have a soap:Fault.
- else
- {
- try
- {
- // look at each soap:Fault in turn
- for (int i = 0; i < faultList.getLength(); i++)
- {
- Element soapFault = (Element) faultList.item(i);
- // find the detail element(s) if any
- NodeList detailList =
- soapFault.getElementsByTagName(XMLUtils.SOAP_ELEM_FAULT_DETAIL);
- if (detailList != null)
- {
- // for each detail element...
- for (int j = 0; j < detailList.getLength(); j++)
- {
- NamedNodeMap detailAttribs =
- detailList.item(j).getAttributes();
- // check for any qualified attributes
- if (detailAttribs != null)
- {
- for (int k = 0; k < detailAttribs.getLength(); k++)
- {
- Attr nextAttr = (Attr) (detailAttribs.item(k));
- // for each qualified attribute, check that
- // qname != http://schemas.xmlsoap.org/soap/envelope
- if (nextAttr.getNamespaceURI() != null)
- {
- qualifiedAttributes = true;
- if (nextAttr
- .getNamespaceURI()
- .equals(WSIConstants.NS_URI_SOAP))
- {
- // found unexpected qname
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- }
- }
- }
-
- if (!qualifiedAttributes)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
- else
- {
- // target message is not a Response
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java
deleted file mode 100644
index 5bf480deb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1204.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1204.
- * The serialized array form in the message does not contain the
- * soapenc:arrayType attribute.
- *
- */
-public class BP1204 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1204(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
-
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Parse message
- Document doc =
- XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
-
- if (this.validator.isFault(doc))
- {
- throw new AssertionPassException();
- }
-
- // Parse request message
- Document docRequest =
- XMLUtils.parseXML(entryContext.getRequest().getMessage());
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
-
- if (match == null)
- throw new AssertionPassException();
-
- BindingOperation bindingOperation = match.getOperation();
-
- Message operationMessage = null;
- if (MessageEntry
- .TYPE_REQUEST
- .equals(entryContext.getMessageEntry().getType())
- && (bindingOperation.getOperation().getInput() != null))
- {
- operationMessage =
- bindingOperation.getOperation().getInput().getMessage();
- }
- else
- {
- if (MessageEntry
- .TYPE_RESPONSE
- .equals(entryContext.getMessageEntry().getType())
- && (bindingOperation.getOperation().getOutput() != null))
- {
- operationMessage =
- bindingOperation.getOperation().getOutput().getMessage();
- }
- }
-
- if (operationMessage == null)
- throw new AssertionPassException();
-
- boolean isContainArray = false;
-
- Collection parts = operationMessage.getParts().values();
- for (Iterator iter = parts.iterator(); iter.hasNext();)
- {
- Part part = (Part) iter.next();
-
- QName type = null;
-
- if (part.getTypeName() == null)
- {
- type = registry.getType(part.getElementName());
- }
- else
- {
- type = part.getTypeName();
- }
-
- isContainArray =
- registry.isExtendsArray(type)
- || registry.isUsesWSDLArrayType(type)
- || isArrayType(type);
- if (isContainArray)
- break;
- }
-
- if (isContainArray)
- {
- // Gets body
- NodeList soapBodyList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if (soapBodyList.getLength() == 0 || soapBodyList.getLength() > 1)
- {
- throw new AssertionFailException();
- }
-
- Element soapBodyElem = (Element) soapBodyList.item(0);
-
- NodeList soapBodyCildrenList =
- soapBodyElem.getElementsByTagNameNS("*", "*");
- for (int indexChild = 0;
- indexChild < soapBodyCildrenList.getLength();
- indexChild++)
- {
- Element elem = (Element) soapBodyCildrenList.item(indexChild);
- if (elem
- .hasAttributeNS(
- WSIConstants.NS_URI_SOAP_ENCODING,
- WSIConstants.ATTR_ARRAY_TYPE))
- {
- throw new AssertionFailException();
- }
- }
-
- throw new AssertionPassException();
- }
- else
- {
- throw new AssertionPassException();
- }
-
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether type uses an array or not.
- * @param type
- * @return boolean
- */
- private boolean isArrayType(QName type)
- {
- boolean arrayType = false;
-
- Element typeElement = getTypeElement(type);
- if (typeElement != null)
- {
- NodeList list =
- typeElement.getElementsByTagNameNS(
- WSIConstants.NS_URI_XSD,
- "sequence");
- if (list.getLength() > 0)
- arrayType = true;
- }
-
- return arrayType;
- }
-
- /**
- * Gets XML element defining the type.
- * @param type
- * @return Element
- */
- private Element getTypeElement(QName type)
- {
- Types[] allTypes = validator.analyzerContext.getCandidateInfo().getTypes();
- for (int i = 0; allTypes != null && i < allTypes.length; i++)
- {
- Element typesElement = null;
- if (allTypes[i] != null)
- {
- typesElement = allTypes[i].getDocumentationElement();
- if (typesElement == null)
- {
- List extList = allTypes[i].getExtensibilityElements();
- for (Iterator iter = extList.iterator(); iter.hasNext();)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) iter.next();
-
- if (extElem
- .getElementType()
- .equals(new QName(WSIConstants.NS_URI_XSD, "schema")))
- {
- typesElement =
- ((UnknownExtensibilityElement) extElem).getElement();
- break;
- }
- }
- }
- if (typesElement != null)
- {
- NodeList complexTypesList =
- typesElement.getElementsByTagNameNS(
- WSIConstants.NS_URI_XSD,
- "complexType");
- for (int j = 0; j < complexTypesList.getLength(); j++)
- {
- Element typeElem = (Element) complexTypesList.item(j);
- if (type.getLocalPart().equals(typeElem.getAttribute("name")))
- {
- return typeElem;
- }
- }
-
- }
- }
- }
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java
deleted file mode 100644
index a26af9236..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1208.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLTraversal;
-import org.w3c.dom.Document;
-import org.w3c.dom.ProcessingInstruction;
-
-
-/**
- * BP1208 NOT FULLY TESTED.
- */
-public class BP1208 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1208(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Parse log message
- Document doc = entryContext.getMessageEntryDocument();
- if (doc == null) {
- //message is empty or invalid, the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- } else {
-
- // Traverse document looking for processing instructions.
- // ISSUE: this inner class needs ... revisiting/replacing
- // EG. Do we want to list all processing instructions,
- // or is the first sufficient?
- XMLTraversal traversal = new XMLTraversal()
- {
- public void visit(ProcessingInstruction pi)
- {
- try
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "Target: " + pi.getTarget() + ", Data: " + pi.getData();
- }
- catch (Exception e)
- {
- // ADD: How should this exception be handled?
- }
-
- super.visit(pi);
- }
- };
-
- traversal.visit(doc);
-
- if (result == AssertionResult.RESULT_FAILED
- && failureDetailMessage != null)
- {
- failureDetail = this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java
deleted file mode 100644
index 69133b820..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1211.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLTags;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP1211.
- *
- * Context:
- * For a candidate message in the message log file, that is referred by a binding style RPC-literal
- *
- * Description:
- * Part accessor elements in the message do not have an xsi:nil attribute with a value of "1" or "true".
- */
-public class BP1211 extends AssertionProcess implements XMLTags
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1211(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
- Document docRequest = entryContext.getRequestDocument();
-
- Element soapOperation = null;
- // If there is a Fault entry or no body entries,
- // the assertion is not applicable
- if (validator.isFault(doc)
- || (soapOperation = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- // Get the binding that is being processed
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
-
- //Create the types registry
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
-
- // Find an operation match
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
- if (match == null)
- throw new AssertionNotApplicableException();
-
- // Get the binding operation based on the match
- BindingOperation bindingOperation = match.getOperation();
-
- // If this is not rpc-literal, then return notApplicable result
- if (!WSDLUtils
- .isRpcLiteral(match.getOperationStyle(), bindingOperation))
- throw new AssertionNotApplicableException();
-
- // Going through all the accessors
- Element accessor = XMLUtils.getFirstChild(soapOperation);
- while (accessor != null)
- {
- Attr attr = XMLUtils.getAttribute(accessor, ATTR_XSI_NIL);
- // If there is xsi:nil attribute and its value is "1" or "true"
- // the assertion failed
- if (attr != null
- && (attr.getValue().equals("1") || attr.getValue().equals("true")))
- {
- throw new AssertionFailException("The accessor name is "
- + accessor.getNodeName());
- }
- // Getting the next accessor
- accessor = XMLUtils.getNextSibling(accessor);
- }
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java
deleted file mode 100644
index 8c1f77280..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1212.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1212
- *
- * <context>For a candidate non-fault envelope containing a soap:body with at least one element</context>
- * <assertionDescription>The envelope contains exactly one part accessor element for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element.</assertionDescription>
- */
-public class BP1212 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1212(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- Element soapOperation = null;
- // If there is a Fault entry or no body entries,
- // the assertion is not applicable
- if (validator.isFault(doc)
- || (soapOperation = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Creating a qualified name of potential SOAP operation
- QName operationQName = new QName(
- soapOperation.getNamespaceURI(), soapOperation.getLocalName());
-
- // Retrieving all the RPC binding operations from wsdl:binding
- BindingOperation[] rpcBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- validator.analyzerContext.getCandidateInfo().getBindings());
-
- // Retrieving binding operation by given operation name
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- operationQName,
- rpcBindingOperations);
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation message parts and extensibility elems
- // in the binding depending on message type
- List operationMessageParts = null;
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST))
- {
- operationMessageParts = bindingOperation.getOperation()
- .getInput().getMessage().getOrderedParts(null);
- if (bindingOperation.getBindingInput() != null)
- extElems =
- bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else
- {
- operationMessageParts = bindingOperation.getOperation()
- .getOutput().getMessage().getOrderedParts(null);
- if (bindingOperation.getBindingOutput() != null)
- extElems =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- }
-
- // Getting all the accessors of the operation element
- List accessors = XMLUtils.getChildElements(soapOperation);
- // Getting the ordered list of wsdl:part names
- List orderedPartNames =
- validator.orderPartNames(operationMessageParts, extElems);
- // Going through all the wsdl:part names
- Iterator i = orderedPartNames.iterator();
- while (i.hasNext())
- {
- String partName = (String) i.next();
- // If there is not exactly one accessor for the part specified,
- // the assertion failed
- if (getPartsCount(accessors, partName) != 1)
- throw new AssertionFailException(
- "The name of wsdl:part is " + partName);
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Counts the amount of accessors of a specific name
- * @param accessors a list of accessors
- * @param name the name of accessor elements to be counted
- * @return
- */
- private int getPartsCount(List accessors, String name)
- {
- int count = 0;
-
- for (int i = 0; i < accessors.size(); i++)
- {
- Element accessor = (Element) accessors.get(i);
- if (accessor.getLocalName().equals(name))
- count++;
- }
-
- return count;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java
deleted file mode 100644
index 555d8463c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1213.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1213
- *
- * <context>For a candidate non-fault envelope containing a soap:Body element, and is referred by a doc-literal binding</context>
- * <assertionDescription>The envelope has no element content in the soap:Body element if the value of the parts attribute of the soapbind:body is an empty string in the corresponding doc-literal description.</assertionDescription>
- */
-public class BP1213 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1213(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- Element messageElement = null;
- // If the message is empty or invalid or there is a Fault entry
- // or there is no body entries, the assertion is not applicable
- if (doc == null
- || validator.isFault(doc)
- || (messageElement = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Getting a qualified name of message element
- QName messagePartElementQName = new QName(
- messageElement.getNamespaceURI(), messageElement.getLocalName());
-
- // Retrieving all the document binding operations from wsdl:binding
- BindingOperation[] docBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- validator.analyzerContext.getCandidateInfo().getBindings());
-
- // Retrieving binding operation by given element name
- BindingOperation[] potentialDocLitOps =
- validator.getDocLitOperations(
- entryContext.getEntry().getEntryType(),
- messagePartElementQName,
- docBindingOperations);
-
- // If there is not exactly one operation matched,
- // the assertion is not applicable
- if (potentialDocLitOps.length != 1)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && potentialDocLitOps[0].getBindingInput() != null)
- {
- extElems = potentialDocLitOps[0]
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && potentialDocLitOps[0].getBindingOutput() != null)
- {
- extElems = potentialDocLitOps[0]
- .getBindingOutput().getExtensibilityElements();
- }
-
- // Getting the parts attribute from soapbind:body
- List parts = null;
- SOAPBody soapBody = validator.getSOAPBody(extElems);
- if (soapBody != null)
- parts = soapBody.getParts();
-
- // if the parts attribute is an empty string and there is
- // at least one accessor, the assertion failed
- if (parts != null && parts.isEmpty()
- && !XMLUtils.getChildElements(messageElement).isEmpty())
- throw new AssertionFailException("wsdl:operation name is "
- + potentialDocLitOps[0].getName());
-
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java
deleted file mode 100644
index ada1346ee..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1214.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1214
- *
- * <context>For a candidate non-fault envelope containing a soap:Body element, and is referred by a rpc-literal binding</context>
- * <assertionDescription>The envelope does not contain any part accessor elements if the value of the parts attribute of the soapbind:body is an empty string in the corresponding rpc-literal description.</assertionDescription>
- */
-public class BP1214 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1214(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- Element soapOperation = null;
- // If there is a Fault entry or no body entries,
- // the assertion is not applicable
- if (validator.isFault(doc)
- || (soapOperation = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Creating a qualified name of potential SOAP operation
- QName operationQName = new QName(
- soapOperation.getNamespaceURI(), soapOperation.getLocalName());
-
- // Retrieving all the RPC binding operations from wsdl:binding
- BindingOperation[] rpcBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- validator.analyzerContext.getCandidateInfo().getBindings());
-
- // Retrieving binding operation by given operation name
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- operationQName,
- rpcBindingOperations);
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems =
- bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- }
-
- // If the message is not literal, the assertion is not applicable
- if (!validator.isLiteral(extElems))
- throw new AssertionNotApplicableException();
-
- // Getting the parts attribute from soapbind:body
- List parts = null;
- SOAPBody soapBody = validator.getSOAPBody(extElems);
- if (soapBody != null)
- parts = soapBody.getParts();
-
- // if the parts attribute is an empty string and there is
- // at least one accessor, the assertion failed
- if (parts != null && parts.isEmpty()
- && !XMLUtils.getChildElements(soapOperation).isEmpty())
- throw new AssertionFailException("wsdl:operation name is "
- + bindingOperation.getName());
-
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java
deleted file mode 100644
index 92a20c735..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1301.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1301.
- */
-public class BP1301 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1301(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- //Get the requets message and check the value of mustUnderstand.
- String message = entryContext.getMessageEntry().getMessage();
- Object[] mustUnderstandAttributes = getMustUnderstandAttributes(message);
-
- if (mustUnderstandAttributes == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- for (int index = 0; index < mustUnderstandAttributes.length; index++)
- {
- if ((mustUnderstandAttributes[index] != null)
- && (mustUnderstandAttributes[index].equals("1")
- || mustUnderstandAttributes[index].equals("0")))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "The SOAP mustUnderstand attribute was present "
- + " and its value was "
- + mustUnderstandAttributes[index],
- entryContext);
- } //End if
- } //End for
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- //Retreives the value of the mustUnderstand attribute from ALL SOAP header
- //If the Header is missing or if it does not contain any targets or if
- //the header does not contain a mustUnderstand attribute then set the
- //assertionResult to RESULT_NOT_APPLICABLE.
- private Object[] getMustUnderstandAttributes(String message)
- throws WSIException
- {
- if (message == null || message.trim().equals("")) {
- return null;
- }
-
- Document doc = XMLUtils.parseXML(message);
- NodeList headers =
- doc.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Header");
-
- //If a header not present set result to notApplicable
- //else process each headerEntry
- if (headers.getLength() <= 0)
- {
- return null;
- }
- else
- {
- Vector mustUnderstandAttributes = new Vector();
- Element header = (Element) headers.item(0);
- if (header == null)
- return null;
-
- NodeList headerEntries = header.getChildNodes();
- //For each header entry check retreive the mustUnderstand attribute
- //if any, else set the test result to notApplicable
-
- //This is used to indicate if a header contained any child Elements
- boolean headerTargets = false;
-
- for (int index = 0; index < headerEntries.getLength(); ++index)
- {
- Node headerEntry = headerEntries.item(index);
- if (headerEntry.getNodeType() == Node.ELEMENT_NODE)
- {
- headerTargets = true;
- Attr mustUnderstand =
- ((Element) headerEntry).getAttributeNodeNS(
- WSIConstants.NS_URI_SOAP,
- "mustUnderstand");
- //Retreive the value of the mustUnderstand attribute of the request.
- if (mustUnderstand != null)
- {
- String mustUnderstandValue = mustUnderstand.getNodeValue();
- mustUnderstandAttributes.add(mustUnderstandValue);
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- //The SOAP Header does not contain a mustUnderstand attribute."
- } // mustUnderstand != null
- }
- } //End for
-
- if (!headerTargets)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- //The SOAP Header does not contain any header entries.
- }
-
- return mustUnderstandAttributes.toArray();
- } //End If headers.getLength() < 0
- }
-
- /**
- * Returns true if this object is must understand fault code.
- * @param faultCodeElem understand fault code.
- * @return true if this object is must understand fault code.
- */
- public boolean isMustUnderstandFaultCode(Element faultCodeElem)
- {
- //A faultcode may or maynot have a prefix, if it does its namespace should be
- //htt://schemas.xmlsoap.org/soap/envelope which is the same as the faultcode element.
- //If a prefix is present and it corresponds to a different namespace or is null
- //then this returns false. The local part of the faultcode is then check to see
- //if it is one of the permitted values.
- if (faultCodeElem == null)
- return false;
-
- String faultCode = faultCodeElem.getFirstChild().getNodeValue().trim();
- if (faultCode == null)
- return false;
-
- String faultCodeElemPrefix = faultCodeElem.getPrefix();
- String faultCodePrefix = faultCode.substring(0, faultCode.indexOf(':'));
- String faultCodeName =
- faultCode.substring(faultCode.indexOf(':') + 1, faultCode.length());
-
- if ((faultCodeElemPrefix != null || faultCodePrefix != null))
- {
- if (faultCodePrefix.equals(faultCodeElemPrefix)
- && (faultCodeName.equals("MustUnderstand")
- || faultCodeName.startsWith("MustUnderstand.")))
- return true;
- else
- return false;
- }
- else
- {
- if (faultCode.equals("MustUnderstand")
- || faultCodeName.startsWith("MustUnderstand."))
- return true;
- else
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java
deleted file mode 100644
index 63acd565a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1302.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1302.
- * The soap:faultcode value in the soap:Fault element of the response
- * message is not custom, and is one of: VersionMismatch, MustUnderstand, Client, Server.
- */
-public class BP1302 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1302(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- //SOAP fault code values should not be custom: only standard code qualifiers
- //are used: VersionMismatch, MustUnderstand, Client, Server
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- //String requestMessage = null;
- String responseMessage = null;
-
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- //Get the response message check the faultcode.
- MessageEntry logEntryResponse = entryContext.getResponse();
- if (logEntryResponse != null)
- {
- responseMessage = logEntryResponse.getMessage();
-
- Document targetDoc = XMLUtils.parseXML(responseMessage);
- NodeList faultCodes = targetDoc.getElementsByTagName("faultcode");
- // targetDoc.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "faultcode");
-
- if (faultCodes.getLength() <= 0)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- //No faultcode
-
- for (int i = 0; i < faultCodes.getLength(); i++)
- {
- Node faultCodeElem = faultCodes.item(i);
- //If the faultcode was MustUnderstand, check the value of
- //the mustUnderstand attribute in the request.
- if (faultCodeElem == null)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- else if (faultCodeElem.getNodeType() == Node.ELEMENT_NODE)
- {
- if (isValidFaultCode((Element) faultCodeElem))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(responseMessage, entryContext);
- //failureDetail =
- // "The faultcode value was : "
- // + faultCodeElem.getFirstChild().getNodeValue().trim();
- } //End if (faultCode.equals...)
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- } //End for
- } //End if logEntryResponse!= null
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Check faultCode.
- * @param faultCodeElem a faultcode.
- * @return true if faultcode is valid.
- */
- public boolean isValidFaultCode(Element faultCodeElem)
- {
- //A faultcode may or maynot have a prefix, if it does its namespace should be
- //http://schemas.xmlsoap.org/soap/envelope which is the same as the faultcode element.
- //If a prefix is present and it corresponds to a different namespace or is null
- //then this returns false. The local part of the faultcode is then check to see
- //if it is one of the permitted values.
- if (faultCodeElem == null)
- return true;
-
- String faultCode = faultCodeElem.getFirstChild().getNodeValue().trim();
- if (faultCode == null)
- return false;
-
- // FIX: This is not correct, since this element can not be namespace qualified
- String faultCodeElemPrefix = faultCodeElem.getParentNode().getPrefix();
-
- // If this is not a QName then return false
- int index;
- String faultCodePrefix = null;
- String faultCodeName = faultCode;
- if ((index = faultCode.indexOf(':')) != -1)
- {
- faultCodePrefix = faultCode.substring(0, index);
- faultCodeName = faultCode.substring(index + 1, faultCode.length());
- }
-
- if ((faultCodeElemPrefix != null && faultCodePrefix != null))
- {
- if (faultCodePrefix.equals(faultCodeElemPrefix))
- {
- if ((faultCodeName.equals("MustUnderstand")
- || faultCodeName.equals("VersionMismatch")
- || faultCodeName.equals("Client")
- || faultCodeName.equals("Server")))
- /* REMOVE:
- || faultCodeName.startsWith("MustUnderstand.")
- || faultCodeName.startsWith("VersionMismatch.")
- || faultCodeName.startsWith("Client.")
- || faultCodeName.startsWith("Server.")))
- */
- return true;
- else
- return false;
- }
- else
- {
- return true;
- }
- }
- else
- {
- if (faultCodeName.equals("MustUnderstand")
- || faultCodeName.equals("VersionMismatch")
- || faultCodeName.equals("Client")
- || faultCodeName.equals("Server")
- || faultCodeName.startsWith("MustUnderstand.")
- || faultCodeName.startsWith("VersionMismatch.")
- || faultCodeName.startsWith("Client.")
- || faultCodeName.startsWith("Server."))
- return true;
- else
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java
deleted file mode 100644
index 1c7976f5a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1305.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.net.HttpURLConnection;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1305.
- * It is in an HTTP 500 message with "Server" Error code.
- */
-public class BP1305 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1305(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Fault> element:
- NodeList faultList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_FAULT);
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:fault
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // we have a soap:Fault. Check that it is contained in a HTTP 500 message
- // GT : base HTTP Header parsing on BP1001 - this should be factored to a
- // general-purpose HTTP message parsing method or methods (request & response)
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
- //Response-Line = HTTP-Version ResponseCode ResponseMsg SP CRLF
- Vector responseLine = new Vector();
- String startLine = null;
- //String httpVersion = null;
- //String responseCode = null;
- String statusCode = null;
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- if (httpMessageTokenizer.hasMoreTokens())
- startLine = httpMessageTokenizer.nextToken();
-
- if (startLine.startsWith("HTTP"))
- {
- StringTokenizer startLineTokenizer =
- new StringTokenizer(startLine, "\u0020");
-
- while (startLineTokenizer.hasMoreTokens())
- {
- responseLine.add(startLineTokenizer.nextToken());
- }
-
- //httpVersion = (String) responseLine.get(0);
-
- // PB: Check for 500 status code which should be the second token in the string
- statusCode = (String) responseLine.get(1);
-
- //responseCode = (String) responseLine.get(1);
- //statusCode = (String) responseLine.get(2);
- }
- try
- {
- // PB: Just check for 500 status code
- if (!statusCode
- .equals(String.valueOf(HttpURLConnection.HTTP_INTERNAL_ERROR)))
- {
- //if (!responseCode.equalsIgnoreCase("OK") ||
- // (!statusCode.equalsIgnoreCase("ServerError"))) {
- // Assertion failed
- throw new AssertionFailException(httpHeader);
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java
deleted file mode 100644
index 13e40ed3d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1306.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1306.
- * The soap:Fault element does not have children other than soap:faultcode, soap:faultstring, soap:faultactor or soap:detail.
- */
-public class BP1306 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1306(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Fault> element:
- NodeList faultList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_FAULT);
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:fault
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that no soap:fault contains only faultcode, faultstring, faultactor, detail.
- // If it does, further check that it is unqualified.
- // For each <soap:Fault>
- try
- {
- for (int n = 0; n < faultList.getLength(); n++)
- {
- for (Node child = faultList.item(n).getFirstChild();
- child != null;
- child = child.getNextSibling())
- {
- if ((child.getNodeType() == Node.ELEMENT_NODE)
- && !(child
- .getLocalName()
- .equalsIgnoreCase(XMLUtils.SOAP_ELEM_FAULT_CODE)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_STRING)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_ACTOR)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_DETAIL)))
- {
- // PB: This is checked in 1316 now
- //|| (child.getNamespaceURI() != null)) {
- // Assertion failed
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java
deleted file mode 100644
index f66dd616c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1307.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1307.
- * The elements of the message that are namespaced
- * "http://schemas.xmlsoap.org/soap/envelope/" do not have a soap:encodingStyle attribute.
- */
-public class BP1307 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1307(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:xxx> elements:
- NodeList soapList =
- doc.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "*");
- if ((soapList == null) || (soapList.getLength() == 0))
- {
- // Response does not contain any soap envelope elements
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that no <soap:xxx> elements contains a soap:encodingStyle attribute
- // For each <soap:xxx>
- try
- {
- for (int n = 0; n < soapList.getLength(); n++)
- {
- Element nextElem = (Element) soapList.item(n);
- if (nextElem
- .getAttributeNodeNS(WSIConstants.NS_URI_SOAP, "encodingStyle")
- != null)
- {
- // Assertion failed
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java
deleted file mode 100644
index ecc0a6fce..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1308.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1308.
- * The children elements of soap:Body do not have a soap:encodingStyle attribute.
- */
-public class BP1308 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1308(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- throw new AssertionNotApplicableException();
-
- // look for soap:Body elements:
- NodeList soapBodyList = doc.getElementsByTagNameNS(
- ELEM_SOAP_BODY.getNamespaceURI(), ELEM_SOAP_BODY.getLocalPart());
-
- // The message does not contain any soap:Body, the assertion is not applicable
- if ((soapBodyList == null) || (soapBodyList.getLength() == 0))
- throw new AssertionNotApplicableException();
-
- // check that no soap:Body child elements contain a soap:encodingStyle attribute
- // Getting the first soap:Body child element
- Element child =
- XMLUtils.getFirstChild((Element) soapBodyList.item(0));
- while (child != null)
- {
- if (child.getAttributeNodeNS(
- ELEM_SOAP_BODY.getNamespaceURI(), "encodingStyle") != null)
- {
- throw new AssertionFailException("The child element name is \"" +
- child.getNodeName() + "\".");
- }
- // Getting the next soap:Body child element
- child = XMLUtils.getNextSibling(child);
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java
deleted file mode 100644
index fb3b6a4ba..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1309.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1309.
- * The soap:Envelope does not have direct children after the soap:Body element
- */
-public class BP1309 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1309(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Envelope> elements:
- // (Note: since this is a Soap message we expect exactly one soap envelope, but we do not assume it).
- NodeList soapEnvList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_ENVELOPE);
- if ((soapEnvList == null) || (soapEnvList.getLength() == 0))
- {
- // Response does not contain any soap Envelope element(s)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that if a <soap:Body> exists in a <soap:Envelope>, that its the last in the envelope
- try
- {
- // For each <soap:Envelope>
- for (int n = 0; n < soapEnvList.getLength(); n++)
- {
- // Get the list of all elements in the Envelope
- Element soapEnv = (Element) soapEnvList.item(n);
- NodeList envChildList = soapEnv.getChildNodes();
- Vector envChildElemList = new Vector();
- for (int v = 0; v < envChildList.getLength(); v++)
- {
- Node nextNode = envChildList.item(v);
- if (nextNode.getNodeType() == Node.ELEMENT_NODE)
- {
- envChildElemList.addElement((Element) nextNode);
- }
- }
- // Search the list for <soap:Body>
- for (int m = 0; m < envChildElemList.size(); m++)
- {
- Element envChildElem = (Element) envChildElemList.elementAt(m);
- if (envChildElem
- .getNamespaceURI()
- .equals(WSIConstants.NS_URI_SOAP)
- && envChildElem.getLocalName().equals(XMLUtils.SOAP_ELEM_BODY))
- {
- // found a <soap:Body> so check its the last in the list of child elements of the Envelope
- if (envChildElem != envChildElemList.lastElement())
- {
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java
deleted file mode 100644
index f84182f1b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1316.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1316.
- * The soap:Fault element children (soap:faultcode, soap:faultstring, soap:faultactor or soap:detail) are unqualified.
- */
-public class BP1316 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1316(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- // Check if this is one way response
- // or message is mepty or invalid
- if (this.validator.isOneWayResponse(entryContext)
- || (doc = entryContext.getMessageEntryDocument()) == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // look for <soap:Fault> element:
- NodeList faultList =
- doc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_FAULT);
- if ((faultList == null) || (faultList.getLength() == 0))
- {
- // Response does not contain a soap:fault
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that no soap:fault contains only faultcode, faultstring, faultactor, detail.
- // If it does, further check that it is unqualified.
- // For each <soap:Fault>
- try
- {
- for (int n = 0; n < faultList.getLength(); n++)
- {
- for (Node child = faultList.item(n).getFirstChild();
- child != null;
- child = child.getNextSibling())
- {
- if ((child.getNodeType() == Node.ELEMENT_NODE)
- && (child
- .getLocalName()
- .equalsIgnoreCase(XMLUtils.SOAP_ELEM_FAULT_CODE)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_STRING)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_ACTOR)
- || child.getLocalName().equalsIgnoreCase(
- XMLUtils.SOAP_ELEM_FAULT_DETAIL))
- && (child.getNamespaceURI() != null))
- {
- // Assertion failed
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java
deleted file mode 100644
index a180801bd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1318.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BP1318
- *
- * The grandchildren elements of soap:Body do not have a soap:encodingStyle attribute.
- */
-public class BP1318 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1318(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Parse message
- Document responseDoc = entryContext.getMessageEntryDocument();
- Document requestDoc = entryContext.getRequestDocument();
-
- // messages are empty or invalid, DOM objects are null
- if (responseDoc == null || requestDoc == null) {
- throw new AssertionNotApplicableException();
- }
-
- //if (isFault(responseDoc))
- // throw new AssertionNotApplicableException();
-
- // Get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- // Get the binding that is being processed
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
-
- //Create the types registry
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
-
- // Find an operation match
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- requestDoc,
- action,
- binding,
- registry);
- if (match == null)
- throw new AssertionNotApplicableException();
-
- // Get the binding operation based on the match
- BindingOperation bindingOperation = match.getOperation();
-
- // If this is not rpc-literal, then return notApplicable result
- if (!WSDLUtils
- .isRpcLiteral(match.getOperationStyle(), bindingOperation))
- {
- throw new AssertionNotApplicableException();
- }
- // look for <soap:Body> elements:
- NodeList soapBodyList =
- responseDoc.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if ((soapBodyList == null) || (soapBodyList.getLength() == 0))
- // Response does not contain any soap Body elements
- throw new AssertionNotApplicableException();
-
- // check that no <soap:Body> child or grandchild elements contains a soap:encodingStyle attribute
- // For each <soap:Body>
- boolean grandChildFound = false;
- for (int n = 0; n < soapBodyList.getLength(); n++)
- {
- Element nextBodyElem = (Element) soapBodyList.item(n);
- // REMOVE: This will get all nodes (child, grandchildren, etc.)
- //NodeList childList = nextBodyElem.getElementsByTagName("*");
- NodeList childList = nextBodyElem.getChildNodes();
- if (childList != null)
- {
- // check all child elements
- for (int m = 0; m < childList.getLength(); m++)
- {
- if (childList.item(m).getNodeType() == Node.ELEMENT_NODE)
- {
- Element nextChildElem = (Element) childList.item(m);
- // check children of this child
- // REMOVE: This will get all nodes (child, grandchildren, etc.)
- NodeList grandChildList = nextChildElem.getChildNodes();
- if (grandChildList != null)
- {
- for (int p = 0; p < grandChildList.getLength(); p++)
- {
- if (grandChildList.item(p).getNodeType()
- == Node.ELEMENT_NODE)
- {
- grandChildFound = true;
- Element nextGrandChildElem =
- (Element) grandChildList.item(p);
- if (nextGrandChildElem
- .getAttributeNodeNS(
- WSIConstants.NS_URI_SOAP,
- "encodingStyle")
- != null)
- {
- // Assertion failed (ADD highlight the child here ?)
- throw new AssertionFailException(
- entryContext.getMessageEntry().getMessage());
- }
- }
- }
- }
- }
- }
- }
- }
- if (!grandChildFound)
- {
- throw new AssertionNotApplicableException();
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java
deleted file mode 100644
index e28c5b84e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1600.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.Collection;
-import java.util.HashSet;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-
-/**
- * BP1600
- *
- * <context>For a candidate envelope</context>
- * <assertionDescription>The envelope conforms to the structure specified in SOAP 1.1 Section 4.</assertionDescription>
- */
-public class BP1600 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1600(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion failed
- if (doc == null)
- {
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
- else
- throw new AssertionFailException("The log message is empty or invalid.");
- }
- // SOAP 1.1 specifications, Section 4.
- // http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383494
-
- // The namespace identifier for the elements and attributes defined
- // in this section is "http://schemas.xmlsoap.org/soap/envelope/".
-
- // o The Envelope is the top element of the XML document representing the message.
-
- // Rule 1. Envelope
- // o The element name is "Envelope".
- // o The element MUST be present in a SOAP message
- // o The element MAY contain namespace declarations as well as additional attributes.
- // If present, such additional attributes MUST be namespace-qualified. Similarly,
- // the element MAY contain additional sub elements. If present these elements
- // MUST be namespace-qualified and MUST follow the SOAP Body element.
-
- // Getting the top element
- Element element = doc.getDocumentElement();
-
- // Assuming that the top element should be soap:Envelope
- // If not, the assertion failed
- if (!element.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE)
- || !isSOAPNamespace(element.getNamespaceURI()))
- throw new AssertionFailException("The top element is not soap:Envelope");
-
- // Collecting all the namespace declarations
- Collection envelopeNamespaces = collectNamespaces(element.getAttributes());
- envelopeNamespaces.add(WSIConstants.NS_URI_XMLNS);
-
- // Getting an attribute that is not in any of the namespaces
- Attr notValidAttr = getNotValidAttr(
- element.getAttributes(),
- envelopeNamespaces);
-
- // If found one, the assertion failed
- if (notValidAttr != null)
- throw new AssertionFailException("The attribute "
- + notValidAttr.getNodeName() + " is not namespace-qualified");
-
-
- // Rule 2. Header
- // o The element name is "Header".
- // o The element MAY be present in a SOAP message. If present, the element
- // MUST be the first immediate child element of a SOAP Envelope element.
- // o The element MAY contain a set of header entries each being an immediate
- // child element of the SOAP Header element. All immediate child elements
- // of the SOAP Header element MUST be namespace-qualified.
-
- // Getting the first sub element of the envelope
- element = XMLUtils.getFirstChild(element);
-
- // If the child is soap:Header
- if (element != null
- && element.getLocalName().equals(XMLUtils.SOAP_ELEM_HEADER)
- && isSOAPNamespace(element.getNamespaceURI()))
- {
-
- // Going through all the Header entries
- Element headerEntry = XMLUtils.getFirstChild(element);
- while (headerEntry != null)
- {
- // Collecting all the namespaces for the current entry
- Collection headerEntryNamespaces = collectNamespaces(
- headerEntry.getAttributes());
-
- // If the entry is not in the namespaces, the assertion failed
- if (!envelopeNamespaces.contains(headerEntry.getNamespaceURI())
- && !headerEntryNamespaces.contains(headerEntry.getNamespaceURI()))
- throw new AssertionFailException("The header entry "
- + headerEntry.getNodeName() + " is not namespace-qualified");
-
- // Getting the next Header entry
- headerEntry = XMLUtils.getNextSibling(headerEntry);
- }
-
- // Getting the next sub element of the envelope
- element = XMLUtils.getNextSibling(element);
- }
-
-
- // Rule 3. Body
- // o The element name is "Body".
- // o The element MUST be present in a SOAP message and MUST be an immediate
- // child element of a SOAP Envelope element. It MUST directly follow the
- // SOAP Header element if present. Otherwise it MUST be the first immediate
- // child element of the SOAP Envelope element.
- // o The element MAY contain a set of body entries each being an immediate
- // child element of the SOAP Body element. Immediate child elements of the
- // SOAP Body element MAY be namespace-qualified. SOAP defines the SOAP Fault
- // element, which is used to indicate error messages.
-
- // if the SOAP Body element is not presented, the assertion failed
- if (element == null
- || !element.getLocalName().equals(XMLUtils.SOAP_ELEM_BODY)
- || !isSOAPNamespace(element.getNamespaceURI()))
- throw new AssertionFailException("The soap:Body element is not presented "
- + "or follows an additional sub element of soap:Envelope");
-
- // Processing all other sub elements of the envelope
- element = XMLUtils.getNextSibling(element);
- while (element != null)
- {
- // Checking for the SOAP Header element
- if (element.getLocalName().equals(XMLUtils.SOAP_ELEM_HEADER)
- && isSOAPNamespace(element.getNamespaceURI()))
- throw new AssertionFailException(
- "The soap:Header element cannot follow the soap:Body element");
-
- // Collecting all the namespaces for the current element
- Collection elementNamespaces = collectNamespaces(
- element.getAttributes());
-
- // If the element is not in the namespaces, the assertion failed
- if (!envelopeNamespaces.contains(element.getNamespaceURI())
- && !elementNamespaces.contains(element.getNamespaceURI()))
- throw new AssertionFailException("The sub envelope element "
- + element.getNodeName() + " is not namespace-qualified");
-
- // Getting the next sub element of the envelope
- element = XMLUtils.getNextSibling(element);
- }
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects all the namespace declarations from attributes collection
- * @param attrs an attributes collection
- * @return a collection of namespaces
- */
- private Collection collectNamespaces(NamedNodeMap attrs)
- {
- Collection ns = new HashSet();
- if (attrs != null)
- {
- for(int i = 0; i < attrs.getLength(); i++)
- {
- Attr attr = (Attr) attrs.item(i);
- if (attr.getNamespaceURI() != null
- && attr.getNamespaceURI().equals(WSIConstants.NS_URI_XMLNS))
- ns.add(attr.getValue());
- }
- }
-
- return ns;
- }
-
- /**
- * Retrieves an attribute that is not in namespaces
- * @param attrs an attributes collection
- * @param ns a namespaces collection
- * @return an attribtue that is not in any of the namespaces specified
- */
- private Attr getNotValidAttr(NamedNodeMap attrs, Collection ns)
- {
- Attr ret = null;
- if (attrs != null)
- {
- for(int i = 0; i < attrs.getLength(); i++)
- {
- Attr attr = (Attr) attrs.item(i);
- if (attr.getNamespaceURI() == null
- || !ns.contains(attr.getNamespaceURI()))
- {
- ret = attr;
- break;
- }
- }
- }
- return ret;
- }
-
- /**
- * Qualifies whether a namespace is the SOAP namespace
- * "http://schemas.xmlsoap.org/soap/envelope/"
- * @param ns a namespace to be qualified
- * @return true if the namespace is qualified, false otherwise
- */
- private boolean isSOAPNamespace(String ns)
- {
- if (ns == null)
- return false;
-
- return ns.equals(WSIConstants.NS_URI_SOAP);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java
deleted file mode 100644
index 78e7c4545..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1601.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.xml.sax.SAXException;
-
-
-/**
- * BP1601.
- */
-public class BP1601 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1601(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // One-way responses will not contain a SOAP message
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- try
- {
- // Try to parse the SOAP message
- //Document doc = XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
- XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
- }
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- e.getTargetException().getMessage(),
- entryContext);
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java
deleted file mode 100644
index cca1c8958..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1701.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import com.ibm.wsdl.util.xml.DOM2Writer;
-
-
-/**
- * BP1701.
- */
-public class BP1701 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1701(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- try
- {
- // TEMP: Use local copy of schema for now
- // Document doc = XMLUtils.parseXML(entryContext.getLogEntry().getMessage(), WSIConstants.NS_URI_SOAP);
- // Document doc = XMLUtils.parseXML(entryContext.getLogEntry().getMessage(), "schemas/soapEnvelope.xsd");
-
- // Get a non-validated but (well-formed) DOM tree of the message content
- Document doc =
- XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
-
- // Remove any xsi:types attributes from the message (SOAP Header, Body and Envelope itself)
-
- NodeList elementList = doc.getElementsByTagName("*");
- if (elementList != null)
- {
- for (int i = 0; i < elementList.getLength(); i++)
- {
- Element element = (Element) elementList.item(i);
- element.removeAttributeNS(WSIConstants.NS_URI_XSI, "type");
- }
- }
-
- // Write out the (potentially) modified tree to String
- String filteredMessage = DOM2Writer.nodeToString(doc);
-
- // Parse the result with validation "on"
- XMLUtils.parseXML(
- filteredMessage,
- TestUtils.getSOAPSchemaLocation());
- }
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- Utils.getExceptionDetails(e.getTargetException()),
- entryContext);
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(Utils.getExceptionDetails(e), entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java
deleted file mode 100644
index 7b83ee2dc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP1755.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * BP1755
- *
- * <context>For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style RPC-literal</context>
- * <assertionDescription>Each part accessor element in the envelope has a local name of the same value as the name attribute of the corresponding wsdl:part element.</assertionDescription>
- */
-public class BP1755 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1755(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
-
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- Element soapOperation = null;
- // If there is a Fault entry or no body entries,
- // the assertion is not applicable
- if (validator.isFault(doc)
- || (soapOperation = validator.getSoapBodyChild(doc)) == null)
- throw new AssertionNotApplicableException();
-
- // Creating a qualified name of potential SOAP operation
- QName operationQName = new QName(
- soapOperation.getNamespaceURI(), soapOperation.getLocalName());
-
- // Retrieving all the RPC binding operations from wsdl:binding
- BindingOperation[] rpcBindingOperations =
- validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- validator.analyzerContext.getCandidateInfo().getBindings());
-
- // Retrieving binding operation by given operation name
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- operationQName,
- rpcBindingOperations);
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation message parts and extensibility elems
- // in the binding depending on message type
- List operationMessageParts = null;
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST))
- {
- operationMessageParts = bindingOperation.getOperation()
- .getInput().getMessage().getOrderedParts(null);
- if (bindingOperation.getBindingInput() != null)
- extElems =
- bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else
- {
- operationMessageParts = bindingOperation.getOperation()
- .getOutput().getMessage().getOrderedParts(null);
- if (bindingOperation.getBindingOutput() != null)
- extElems =
- bindingOperation.getBindingOutput().getExtensibilityElements();
- }
-
- // If the message is not literal, the assertion is not applicable
- if (!validator.isLiteral(extElems))
- throw new AssertionNotApplicableException();
-
-
- /* Basic Profile Version 1.1 (http://www.ws-i.org/Profiles/Basic/2003-12/BasicProfile-1.1.htm)
- * says that the order of the elements in the soap:body of an ENVELOPE MUST be
- * the same as that of the wsdl:parts in the wsdl:message that describes it.
- * However, we should keep in mind there is the "parts" attribute of soapbind:body
- * that indicates which parts appear within the SOAP Body.
- */
-
- // Getting the ordered list of wsdl:part names
- List orderedPartNames =
- validator.orderPartNames(operationMessageParts, extElems);
- Iterator i = orderedPartNames.iterator();
- // Getting the first accessor
- Element accessor = XMLUtils.getFirstChild(soapOperation);
- while (accessor != null)
- {
- // If there is no the corresponding wsdl:part element
- // for an accessor, the assertion failed
- if (!i.hasNext())
- throw new AssertionFailException(
- "The part accessor element '" + accessor.getLocalName()
- + "' does not have the corresponding wsdl:part element.");
-
- // If local name of accessor does not equal to the name of the
- // corresponding wsdl:part element, the assertion failed
- String partName = (String) i.next();
- if (!accessor.getLocalName().equals(partName))
- throw new AssertionFailException(
- "The accessor local name is " + accessor.getLocalName()
- + ", the corresponding part element name is " + partName);
-
- // Getting the next accessor
- accessor = XMLUtils.getNextSibling(accessor);
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java
deleted file mode 100644
index fe09c0002..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4100.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPHeader;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-
-/**
- * BP4100
- * <context>For a candidate envelope containing a header block that is either mandatory or is not described in the wsdl:binding.</context>
- * <assertionDescription>An envelope contains a header block that is either mandatory or is not described in the wsdl:binding.</assertionDescription>
- */
-public class BP4100 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4100(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Parsing the message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting header elements from envelope
- Element root = doc.getDocumentElement();
- NodeList headerList = root.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP, XMLUtils.SOAP_ELEM_HEADER);
-
- // If there is no header, the assertion is not applicable
- if (headerList == null || headerList.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the header element
- Node header = headerList.item(0);
-
- // Getting the immediate child elements of the header
- NodeList elems = header.getChildNodes();
-
- // If there are no child elements of the header
- // the assertion is not applicable
- if (elems == null || elems.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Walking through child elements
- for (int i = 0; i < elems.getLength(); i++)
- {
-
- if (elems.item(i).hasAttributes())
- {
- // Getting the mustUnderstand attribute
- Node muNode = elems.item(i).getAttributes().getNamedItem(
- root.getPrefix() + ":" + XMLUtils.SOAP_ATTR_MUST_UNDERSTAND);
- // If a header block is mandatory, then the assertion passed
- if (muNode != null && muNode.getNodeValue().equals("1"))
- {
- throw new AssertionPassException();
- }
- }
-
- // Getting header block name
- String blockName = elems.item(i).getLocalName();
- // If the name is not presented (occurs when element is empty string)
- // then continue with the next element
- if (blockName == null)
- {
- continue;
- }
-
- boolean blockNameExists = false;
-
- // Getting WSDL bindings
- Binding[] bindings = validator.getWSDLDocument().getBindings();
- for (int j = 0; j < bindings.length; j++)
- {
- // Getting wsdl:operations
- List operations = bindings[j].getBindingOperations();
- Iterator k = operations.iterator();
- while (k.hasNext() && !blockNameExists)
- {
- BindingOperation operation = (BindingOperation) k.next();
-
- // If this is a request message,
- // then getting wsdl:input for an operation
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST))
- {
- BindingInput opInput = operation.getBindingInput();
- if (opInput != null)
- {
- // If wsdl:input is presented then checking
- // whether the block name is described there or not
- blockNameExists = blockNameExists(
- opInput.getExtensibilityElements(), blockName);
- }
- }
- // If this is a response message,
- // then getting wsdl:output for an operation
- else
- {
- BindingOutput opOutput = operation.getBindingOutput();
- if (opOutput != null)
- {
- // If wsdl:output is presented then checking
- // whether the block name is described there or not
- blockNameExists = blockNameExists(
- opOutput.getExtensibilityElements(), blockName);
- }
- }
- }
- }
-
- // If a header block is not described in the appropriate wsdl:binding
- // then the assertion passed
- if (!blockNameExists)
- {
- throw new AssertionPassException();
- }
- }
-
- // No one header block is either mandatory or is not described in the
- // appropriate wsdl:binding, the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
- catch (AssertionPassException ape)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checks the existense of blockName in wsdlsoap:header, if it is found in
- * a list of ExtensibilityElement objects
- *
- * @param elems A list of ExtensibilityElement objects
- * @param blockName The name that will be checked for existence
- * @return true if blockName is described in the wsdlsoap:header extensibility element
- */
- private boolean blockNameExists(List elems, String blockName)
- {
- if (elems == null)
- {
- return false;
- }
-
- Iterator i = elems.iterator();
- while (i.hasNext())
- {
- ExtensibilityElement elem = (ExtensibilityElement) i.next();
- String elemName = elem.getElementType().getLocalPart();
- if (elemName.equals("header"))
- {
- SOAPHeader soapHeader = (SOAPHeader) elem;
- if (soapHeader.getPart().equals(blockName))
- {
- return true;
- }
- }
- }
-
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java
deleted file mode 100644
index afd93f3f4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4101.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * BP4101
- * <context>For a candidate envelope containing a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next".</context>
- * <assertionDescription>A header element in the envelope contains a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next".</assertionDescription>
- */
-public class BP4101 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4101(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try {
-
- // Parsing the message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting header elements from envelope
- Element root = doc.getDocumentElement();
- NodeList headerList = root.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP, XMLUtils.SOAP_ELEM_HEADER);
-
- // If there is no header, the assertion is not applicable
- if (headerList == null || headerList.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the header element
- Node header = headerList.item(0);
-
- // Getting the immediate child elements of the header
- NodeList elems = header.getChildNodes();
-
- // If there is no child elements of the header
- // the assertion is not applicable
- if (elems == null || elems.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Walking through child elements
- for (int i = 0; i < elems.getLength(); i++)
- {
- // Getting node attributes
- NamedNodeMap attrs = elems.item(i).getAttributes();
-
- // If the node does not have attributes then continue
- if (attrs == null)
- {
- continue;
- }
-
- // Getting actor attribute
- Node actor = attrs.getNamedItem(root.getPrefix()
- + ":" + XMLUtils.SOAP_ATTR_ACTOR);
-
- // If the actor attribute is presented and does not equal
- // to "http://schemas.xmlsoap.org/soap/actor/next",
- // then the assertion passed
- if (actor != null
- && !actor.getNodeValue().equals(WSIConstants.NS_URI_SOAP_NEXT_ACTOR))
- {
- throw new AssertionPassException();
- }
- }
-
- // No one actor attribute has a value other than
- // "http://schemas.xmlsoap.org/soap/actor/next",
- // the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
- catch (AssertionPassException ape)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java
deleted file mode 100644
index 1be179229..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4102.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * BP4102
- * <context>For a candidate envelope containing a fault with a non-empty detail element.</context>
- * <assertionDescription>A Fault element in an envelope contains a non-empty detail element.</assertionDescription>
- */
-public class BP4102 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4102(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try {
-
- // Parsing the message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting Fault elements from envelope
- Element root = doc.getDocumentElement();
- NodeList faultList = root.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP, XMLUtils.SOAP_ELEM_FAULT);
-
- // If there is no Fault element, the assertion is not applicable
- if (faultList == null || faultList.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Fault element must not appear more than once
- // within a Body element, so getting the first one
- Element fault = (Element) faultList.item(0);
-
- // Getting Fualt's detail elements
- NodeList details = fault.getElementsByTagName(
- XMLUtils.SOAP_ELEM_FAULT_DETAIL);
- // If there is a non-empty detail element, then the assertion passed
- if (details != null
- && details.getLength() > 0)
- {
- NodeList list = details.item(0).getChildNodes();
- // search first element node
- for (int i = 0; i < list.getLength(); i++)
- {
- if((list.item(i).getNodeType() == Node.ELEMENT_NODE)
- && (list.item(i).getLocalName() != null) )
- {
- throw new AssertionPassException();
- }
- }
- }
-
- // There is no detail element in Fault,
- // the assertion is not applicable
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
- catch (AssertionPassException ape)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java
deleted file mode 100644
index 92f8d1d37..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/BP4109.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.NodeList;
-
-/**
- * BP4109
- *
- * <context>For a candidate envelope containing a soap:Body element with attributes</context>
- * <assertionDescription>An envelope contains a a soap:Body element with attributes.</assertionDescription>
- */
-public class BP4109 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4109(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try {
-
- // Parsing the message
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the soap:Body elements from envelope
- NodeList bodyList = doc.getDocumentElement().getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP, XMLUtils.SOAP_ELEM_BODY);
-
- // If there is no Body element, the assertion is not applicable
- if (bodyList == null || bodyList.getLength() == 0)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the first soap:Body element
- Element body = (Element) bodyList.item(0);
-
- // If the Body element has attributes (excluding namespace declarations),
- // the assertion passed
- NamedNodeMap attrs = body.getAttributes();
- if (attrs != null)
- {
- for (int i = 0; i < attrs.getLength(); i++)
- {
- String attrName = ((Attr) attrs.item(i)).getName();
- if (!attrName.equals("xmlns") && !attrName.startsWith("xmlns:"))
- {
- throw new AssertionPassException();
- }
- }
- }
-
- throw new AssertionNotApplicableException();
- }
- catch (AssertionPassException ape)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java
deleted file mode 100644
index be2014cb0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/EnvelopeValidatorImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- * Parasoft - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EnvelopeValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-
-/**
- * @version 1.0
- */
-public class EnvelopeValidatorImpl
- extends BaseMessageValidator
- implements EnvelopeValidator
-{
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext entryContext)
- {
- boolean match = false;
-
- // Verify that the entry and test assertion have the same primary context
- if ((testAssertion.getEntryTypeName().equals(EntryType.TYPE_ENVELOPE_ANY))
- || (testAssertion.getEntryTypeName().equals(EntryType.TYPE_ENVELOPE_REQUEST)
- && (entryContext
- .getEntry()
- .getEntryType()
- .getTypeName()
- .equals(EntryType.TYPE_MESSAGE_REQUEST)))
- || (testAssertion.getEntryTypeName().equals(EntryType.TYPE_ENVELOPE_RESPONSE)
- && (entryContext
- .getEntry()
- .getEntryType()
- .getTypeName()
- .equals(EntryType.TYPE_MESSAGE_RESPONSE))))
- {
- match = true;
- }
-
- return match;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java
deleted file mode 100644
index 919d35aca..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP1601.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * SSBP1601
- */
-public class SSBP1601 extends BP1601
-{
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP1601(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java
deleted file mode 100644
index ac5526f31..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/envelope/SSBP9704.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * SSBP9704
- *
- * <context>For a candidate envelope</context>
- * <assertionDescription>The ENVELOPE does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".</assertionDescription>
- */
-public class SSBP9704 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP9704(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // Getting the root element
- Element elem = doc.getDocumentElement();
- // If it is not the soap:Envelope, the assertion is not applicable
- if (!elem.getNamespaceURI().equals(WSIConstants.NS_URI_SOAP)
- || !elem.getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE))
- {
- throw new AssertionNotApplicableException();
- }
-
- // If the envelope contains the xmlns:xml namespace declaration,
- // the assertion failed
- String incorrectElementName = getIncorrectElementName(elem);
- if (incorrectElementName != null)
- {
- throw new AssertionFailException("The name of an element containing "
- + "such namespace declaration is \"" + incorrectElementName + "\".");
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for any element that contains the attribute xmlns:xml="http://www.w3.org/XML/1998/namespace".
- * @param elem the root element.
- * @return the name of an element found or null.
- */
- private String getIncorrectElementName(Element elem)
- {
- // Getting a value of the attribute xmlns:xml
- String attrValue = elem.getAttributeNS(
- WSIConstants.NS_URI_XMLNS, "xml");
- // If it equals to "http://www.w3.org/XML/1998/namespace",
- // return an element name;
- if (WSIConstants.NS_URI_XML.equals(attrValue))
- {
- return elem.getNodeName();
- }
- // Going through element's children
- Element child = XMLUtils.getFirstChild(elem);
- while (child != null)
- {
- // If any of them has xmlns:xml attribute, return a value
- String name = getIncorrectElementName(child);
- if (name != null)
- {
- return name;
- }
- // Getting the next element's child
- child = XMLUtils.getNextSibling(child);
- }
- // No xmlns:xml attributes found, return null
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java
deleted file mode 100644
index 53ff37299..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1003.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP1003
- *
- * <context>For a candidate non-multipart/related message in the log file, which has a non-empty entity-body</context>
- * <assertionDescription>
- * The logged SOAP envelope is a UTF-8 transcript of an envelope originally encoded as UTF-8 or UTF-16.
- * The HTTP Content-Type header's charset value is either UTF-8 or UTF-16. Looking at the messageContent
- * element of the logged message, either
- * (1) it has a BOM attribute which maps the charset value in the Content-Type header, or
- * (2) it has it has an XML declaration which matches the charset value in the Content-Type header, or
- * (3) there is no BOM attribute and no XML declaration, and the charset value is UTF-8.
- * </assertionDescription>
- *
- * @author lauzond
- */
-public class AP1003 extends SSBP1003 {
-
- /**
- * @param impl
- */
- public AP1003(BaseMessageValidator impl)
- {
- super(impl);
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // If there is a SOAP Message with Attachments, the assertion is not applicable
- if (entryContext.getMessageEntry().isMimeContent())
- {
- return validator.createAssertionResult(testAssertion, AssertionResult.RESULT_NOT_APPLICABLE, failureDetail);
- }
- else
- {
- return super.validate(testAssertion, entryContext);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java
deleted file mode 100644
index bd900e6f9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1902.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.ExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP1902
- *
- * <context>For a candidate message</context>
- * <assertionDescription>In a description, if the wsdl:input or wsdl:output
- * element in the wsdl:binding specifies WSDL MIME binding, then the message
- * can contain SOAP attachments.</assertionDescription>
- */
-public class AP1902 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1902(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting an operation matched for a message
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
- // If no one operation matches, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
- // Getting the corresponding extensibility elements
- List extElems;
- String type;
- if (MessageEntry.TYPE_REQUEST
- .equals(entryContext.getEntry().getEntryType()))
- {
- type = "input";
- extElems = bindingOperation.getBindingInput() == null ? null
- : bindingOperation.getBindingInput().getExtensibilityElements();
- }
- else
- {
- type = "output";
- extElems = bindingOperation.getBindingOutput() == null ? null
- : bindingOperation.getBindingOutput().getExtensibilityElements();
- }
- // If the MIME binding is not used, but the message has
- // at least one non-root MIME part, the assertion failed
- if (!usesMimeBinding(extElems)
- && entryContext.getMessageEntry().getMimeParts().count() > 1)
- {
- throw new AssertionFailException("The wsdl:" + type + " of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether the first extensibility element is mime:multipartRelated.
- * @param extElems a list of extensibility elements.
- * @return true if the element is mime:multipartRelated, false otherwise
- */
- private boolean usesMimeBinding(List extElems) {
- // If the first extensibility element is mime:multipartRelated,
- // return true
- if (extElems != null && extElems.size() > 0
- && ((ExtensibilityElement)extElems.get(0))
- .getElementType().equals(WSDL_MIME_MULTIPART))
- {
- return true;
- }
- // otherwise return false
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java
deleted file mode 100644
index e85297608..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1915.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * AP1915
- *
- * <context>For a candidate root-part of a multipart/related message</context>
- * <assertionDescription>The entity body of the root-part of a
- * multipart/related message is serialized using either UTF-8 or UTF-16
- * character encoding.</assertionDescription>
- */
-public class AP1915 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1915(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // get MIME parts
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
- MimePart part = mimeParts.getRootPart();
- if (part == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- String xmlEncoding = null;
- String charset = MIMEUtils.getMimeHeaderSubAttribute(
- part.getHeaders(),
- MIMEConstants.HEADER_CONTENT_TYPE,
- "charset");
- try
- {
- // The HTTP Content-Type header's charset value is either UTF-8 or UTF-16.
- if((charset != null) && (charset.equalsIgnoreCase("utf-8") ||
- charset.equalsIgnoreCase("utf-16")))
- {
- // Looking at the messageContent element of the logged message, either
- // (1) it has a BOM attribute which maps the charset value in the Content-Type header, or
- int bom = 0;
- if ((bom = entryContext.getMessageEntry().getBOM()) != 0)
- {
- if ((bom == WSIConstants.BOM_UTF8
- && !charset.equalsIgnoreCase("utf-8"))
- || ((bom == WSIConstants.BOM_UTF16
- && !charset.equalsIgnoreCase("utf-16")))
- || ((bom == WSIConstants.BOM_UTF16_BIG_ENDIAN
- && !charset.equalsIgnoreCase("utf-16"))))
- {
- throw new AssertionFailException("The BOM (" + bom +
- ") and charset value (" + charset + ")do not match.");
- }
- }
- // (2) it has an XML declaration which matches the charset value in the Content-Type header, or
- else if (((xmlEncoding =
- Utils.getXMLEncoding(part.getContent())) != null) &&
- !xmlEncoding.equals(""))
- {
- if(!xmlEncoding.equalsIgnoreCase(charset))
- {
- throw new AssertionFailException("The XML declaration encoding (" +
- xmlEncoding + ") and charset value (" + charset +
- ") do not match.");
- }
-
- }
- // (3) there is no BOM attribute and no XML declaration, and the charset value is UTF-8.
- else if(!charset.equalsIgnoreCase("utf-8"))
- {
- throw new AssertionFailException("The no BOM attribute and no XML "+
- "declaration, and the charset value is (" + charset + ")");
- }
- }
- // header do not found or incorrect charset value
- else
- {
- throw new AssertionFailException("Either the Content-Type header is not "+
- "present in the Root Part or a charset value is invalid.");
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java
deleted file mode 100644
index 012d0d6f7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1917.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.soap.SOAPBody;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * AP1917
- *
- * <context>For a candidate message containing zero attachment parts</context>
- * <assertionDescription>A message containing zero attachment parts is sent
- * using a content-type of either "text/xml" as though a SOAP HTTP binding were
- * used or "multipart/related" when the WSDL description for the message
- * specifies the mime:multipartRelated element on the corresponding wsdl:input
- * or wsdl:output element in its wsdl:binding.</assertionDescription>
- */
-public class AP1917 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1917(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // not applicable if there are attachments
- if (entryContext.getMessageEntry().isMimeContent())
- {
- if (entryContext.getMessageEntry().getMimeParts().count() > 1)
- throw new AssertionNotApplicableException();
- }
-
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems = bindingOperation
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems = bindingOperation
- .getBindingOutput().getExtensibilityElements();
- }
-
- // check list
- if((extElems == null) || (extElems.size() == 0))
- {
- throw new AssertionNotApplicableException();
- }
-
- // determine type
- boolean isMultiPart = false;
-
- // if MIMEMultipartRelated then only root-part allowed
- if(extElems.get(0) instanceof MIMEMultipartRelated)
- {
- if(((MIMEMultipartRelated) extElems.get(0)).getMIMEParts().size() != 1) {
- throw new AssertionNotApplicableException();
- }
- isMultiPart = true;
- }
- // else if not soapbind:body root element
- else if(!(extElems.get(0) instanceof SOAPBody))
- {
- throw new AssertionNotApplicableException();
- }
-
- // get HTTP content type
- String contentType = HTTPUtils.getHttpHeaderAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- HTTPConstants.HEADER_CONTENT_TYPE);
-
- //allow "text/xml" or
- //("multipart/related" and "mime:multipartRelated" WSDL bindings)
- if((contentType == null) ||
- (!contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART) &&
- !contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_TEXT_XML)) ||
- ((contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART) &&
- !isMultiPart)))
- {
- throw new AssertionFailException("The content-type header field " +
- "value \"" + contentType + "\" is incorrect");
- }
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail(e.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java
deleted file mode 100644
index b01a2b855..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1925.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * AP1925
- *
- * <context>For a candidate message</context>
- * <assertionDescription>If the WSDL description lists at least one non-root
- * MIME part, then the corresponding message has a Content-Type HTTP header
- * field-value with a media-type of "multipart/related.</assertionDescription>
- */
-public class AP1925 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1925(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems = bindingOperation
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems = bindingOperation
- .getBindingOutput().getExtensibilityElements();
- }
- // check list on first element
- if((extElems == null) || (extElems.size() == 0) ||
- !(extElems.get(0) instanceof MIMEMultipartRelated))
- throw new AssertionNotApplicableException();
-
- // get list mime parts from definition
- MIMEMultipartRelated mime = (MIMEMultipartRelated) extElems.get(0);
- List parts = mime.getMIMEParts();
- // if parts count is more than one, than assertion is notApplicable
- if(parts.size() <= 1)
- throw new AssertionNotApplicableException();
- String contentType = HTTPUtils.getHttpHeaderAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- HTTPConstants.HEADER_CONTENT_TYPE);
- if((contentType == null) ||
- !contentType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART))
- {
- throw new AssertionFailException("Incorrect Content-Type value \"" +
- contentType + "\" in HTTP header");
- }
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail(e.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Returns the part value from MIMEContent element
- * @param part MIMEPart element
- * @return the part value from MIMEContent element
- */
- //private String getMIMEContentPart(MIMEPart part) {
- // List list = part.getExtensibilityElements();
- // if(list.size() == 0)
- // return null;
- // return ((MIMEContent) list.get(0)).getPart();
- //}
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java
deleted file mode 100644
index a3f24ecd9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1926.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-
-/**
- * AP1926
- *
- * <context>For a candidate message</context>
- * <assertionDescription>A message includes all of the MIME parts described by
- * its WSDL MIME binding.</assertionDescription>
- */
-public class AP1926 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1926(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if(!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
-
- // get message mime parts
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
-
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems = bindingOperation
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems = bindingOperation
- .getBindingOutput().getExtensibilityElements();
- }
- // check list for the first element
- if((extElems == null) || (extElems.size() == 0) ||
- !(extElems.get(0) instanceof MIMEMultipartRelated))
- throw new AssertionNotApplicableException();
-
- // get list mime parts from definition
- MIMEMultipartRelated mime = (MIMEMultipartRelated) extElems.get(0);
- List parts = mime.getMIMEParts();
-
- if(mimeParts.getRootPart() == null || mimeParts.count()==0)
- throw new AssertionNotApplicableException();
- // skip root part
- for (int i = 1; i < parts.size(); i++)
- {
- String partName = getMIMEContentPart((MIMEPart) parts.get(i));
- // find the corresponding MIME part
- if (findMIMEPart(mimeParts.getParts(), partName) == null)
- {
- throw new AssertionFailException("The corresponding binding " +
- "operation \"" + bindingOperation.getName() +
- "\" does not contain part \"" + partName + "\"");
- }
- }
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail(e.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * find corresponding MIME part
- * @param parts array of soap MIME parts
- * @param partName part name to find
- * @return corresponding MIME part "Content-ID" value,
- * if the part doesnt found, retuns null
- * @throws WSIException
- */
- private String findMIMEPart(Collection parts, String partName)
- throws WSIException
- {
- if(partName == null)
- return null;
- Iterator iparts = parts.iterator();
- while (iparts.hasNext())
- {
- MimePart part = (MimePart)iparts.next();
- String m_partName = MIMEUtils.getMimeHeaderAttribute(
- part.getHeaders(), MIMEConstants.HEADER_CONTENT_ID);
-
- // check value format <partname=UID@host>
- if ((m_partName != null) && (m_partName.startsWith("<")) &&
- (m_partName.indexOf("=") != -1) &&
- (encodePartName(m_partName.substring(1, m_partName.indexOf("="))).equals(partName)))
- {
- return m_partName;
- }
- }
- return null;
- }
-
- /**
- * Returns the part value from MIMEContent element
- * @param part MIMEPart element
- * @return the part value from MIMEContent element
- */
- private String getMIMEContentPart(MIMEPart part) {
- List list = part.getExtensibilityElements();
- if(list.size() == 0)
- return null;
- return ((MIMEContent) list.get(0)).getPart();
- }
-
- /**
- * Encode string from %HH to UTF
- * @param str string
- * @return encoded string from %HH format
- */
- private String encodePartName(String str) {
- StringBuffer res = new StringBuffer("");
- for (int i = 0; i < str.length(); i++)
- {
- if((str.charAt(i) == '%') && (str.length() > i+2))
- {
- try
- {
- int value = Integer.parseInt(
- String.valueOf(str.charAt(i+1)) +
- String.valueOf(str.charAt(i+2)), 16);
- res.append((char) value);
- i +=2;
- }
- catch(NumberFormatException e){}
- }
- else
- {
- res.append(str.charAt(i));
- }
- }
- return res.toString();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java
deleted file mode 100644
index 01cdfc9b9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1931.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * AP1931
- *
- * <context>For a candidate root-part of a multipart/related message</context>
- * <assertionDescription>The entity body of the root-part of multipart/related
- * message is a soap:Envelope.</assertionDescription>
- */
-public class AP1931 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1931(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // check for the root part
- if(entryContext.getMessageEntry().isMimeContent() &&
- (entryContext.getMessageEntry().getMimeParts().getRootPart() != null))
- {
- try
- {
- // parse root part message
- Document doc = XMLUtils.parseXML(
- entryContext.getMessageEntry().getMimeParts().getRootPart().getContent());
-
- // get entity body
- Element el = doc.getDocumentElement();
-
- // if the element is not soap:Envelope, then fail
- if(!el.getLocalName().equals(WSITag.ELEM_SOAP_ENVELOPE.getLocalPart()) ||
- !el.getNamespaceURI().equals(WSITag.ELEM_SOAP_ENVELOPE.getNamespaceURI()))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "the entity body of the root part is {" +
- el.getNamespaceURI() + "}" + el.getLocalName(), entryContext);
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "the entity body of the root part does not contain " +
- "\"soap:Envelope\" element", entryContext);
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java
deleted file mode 100644
index d9c0fc722..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1932.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * AP1932
- *
- * <context>For a candidate message containing a Content-Type HTTP header
- * field-value with a media type of "multipart/related"</context>
- * <assertionDescription>In a message, the Content-Type HTTP header field-value
- * has a type parameter with a value of "text/xml" when it has a media type of
- * "multipart/related".</assertionDescription>
- */
-public class AP1932 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1932(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // check for multipart/related content type
- String content_type = HTTPUtils.getHttpHeaderAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- HTTPConstants.HEADER_CONTENT_TYPE);
-
- if((content_type == null) ||
- (!content_type.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART)))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- String subType = HTTPUtils.getHttpHeaderSubAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- HTTPConstants.HEADER_CONTENT_TYPE, "type");
- if((subType == null)
- || !subType.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_TEXT_XML))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "The \"type\" parameter value is \"" + subType + "\"", entryContext);
- }
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java
deleted file mode 100644
index a4491fbb7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1933.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-
-/**
- * AP1933
- *
- * <context>For a candidate message</context>
- * <assertionDescription>If a description binds a wsdl:message part to a
- * mime:content element, then the corresponding MIME part in a message has a
- * content-id header with a globally unique value of the form
- * &lt;partname=ID@hostname&gt;, where 'partname' is the value of the name attribute of
- * the wsdl:part element referenced by the mime:content.</assertionDescription>
- */
-public class AP1933 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1933(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- try
- {
- if(!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
-
- // get message mime parts
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
-
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
-
- // If there is no matched operation, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
-
- // Finding operation extensibility elems
- // in the binding depending on message type
- List extElems = null;
- if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_REQUEST)
- && bindingOperation.getBindingInput() != null)
- {
- extElems = bindingOperation
- .getBindingInput().getExtensibilityElements();
- }
- else if (entryContext.getMessageEntry().getType().equals(
- MessageEntry.TYPE_RESPONSE)
- && bindingOperation.getBindingOutput() != null)
- {
- extElems = bindingOperation
- .getBindingOutput().getExtensibilityElements();
- }
- // check list for the first element
- if((extElems == null) || (extElems.size() == 0) ||
- !(extElems.get(0) instanceof MIMEMultipartRelated))
- throw new AssertionNotApplicableException();
-
- // get list mime parts from definition
- MIMEMultipartRelated mime = (MIMEMultipartRelated) extElems.get(0);
- List parts = mime.getMIMEParts();
-
- // skip root part
- for (int i = 1; i < parts.size(); i++)
- {
- String partName = getMIMEContentPart((MIMEPart) parts.get(i));
- // find the corresponding MIME part
- if (findMIMEPart(mimeParts.getParts(), partName) == null)
- {
- throw new AssertionFailException("The corresponding binding " +
- "operation \"" + bindingOperation.getName() +
- "\" does not contain part \"" + partName + "\"");
- }
- }
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- validator.createFailureDetail(e.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * find corresponding MIME part
- * @param parts array of soap MIME parts
- * @param partName part name to find
- * @return corresponding MIME part "Content-ID" value,
- * if the part doesnt found, retuns null
- * @throws WSIException
- */
- private String findMIMEPart(Collection parts, String partName)
- throws WSIException, AssertionFailException
- {
- if(partName == null)
- return null;
-
- Iterator iparts = parts.iterator();
- int i = 0;
- while (iparts.hasNext())
- {
- i = i + 1;
- MimePart part = (MimePart)iparts.next();
- String m_partName = MIMEUtils.getMimeHeaderAttribute(
- part.getHeaders(), MIMEConstants.HEADER_CONTENT_ID);
-
- // check value format <partname=UID@hostname>
- if ((m_partName != null) && m_partName.startsWith("<") && m_partName.endsWith(">"))
- {
- int idx, atIdx;
- String enPartName = null;
- String uid = null;
- String host = null;
-
- // get part name from content-id
- if ((idx = m_partName.indexOf("=")) != -1)
- {
- enPartName = encodePartName(m_partName.substring(1, idx));
- }
- // get uid and hostname from content-id
- if (((atIdx = m_partName.indexOf("@")) != -1) && (atIdx > idx))
- {
- uid = m_partName.substring(idx+1, atIdx);
- host = m_partName.substring(atIdx+1, m_partName.length()-1);
- }
- // if part names match, validate format
- if((enPartName != null) && enPartName.equals(partName))
- {
- if((uid == null) || (uid.length() == 0))
- throw new AssertionFailException(
- "The \"Content-ID\" attribute of the part \""+(i+1)+
- "\"contains value \""+ m_partName+
- "\" which has a incorrect UID format");
- if(host == null)
- throw new AssertionFailException(
- "The \"Content-ID\" attribute of the part \""+(i+1)+
- "\"contains value \""+ m_partName+
- "\" which has a incorrect host format");
- // check for malformed URL
- try
- {
- new URL("HTTP", host, "");
- }
- catch (MalformedURLException e)
- {
- throw new AssertionFailException(
- "The \"Content-ID\" attribute of the part \""+(i+1)+
- "\"contains value \""+ m_partName+
- "\" which has a incorrect host format");
- }
- return m_partName;
- }
- }
- }
- return null;
- }
-
- /**
- * Returns the part value from MIMEContent element
- * @param part MIMEPart element
- * @return the part value from MIMEContent element
- */
- private String getMIMEContentPart(MIMEPart part)
- {
- List list = part.getExtensibilityElements();
- if(list.size() == 0)
- return null;
- return ((MIMEContent) list.get(0)).getPart();
- }
-
- /**
- * Encode string from %HH to UTF
- * @param str string
- * @return encoded string from %HH format
- */
- private String encodePartName(String str) {
- StringBuffer res = new StringBuffer("");
- for (int i = 0; i < str.length(); i++)
- {
- if((str.charAt(i) == '%') && (str.length() > i+2))
- {
- try
- {
- int value = Integer.parseInt(
- String.valueOf(str.charAt(i+1)) +
- String.valueOf(str.charAt(i+2)), 16);
- res.append((char) value);
- i +=2;
- }
- catch(NumberFormatException e){}
- }
- else
- {
- res.append(str.charAt(i));
- }
- }
- return res.toString();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java
deleted file mode 100644
index 1c060516d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1934.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.Iterator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-
-/**
- * AP1934
- *
- * <context>For a candidate part of a multipart/related message</context>
- * <assertionDescription>The Content-Transfer-Encoding field of a part in a
- * multipart/related message has a value of "7bit", "8bit", "binary",
- * "quoted-printable" or "base64".</assertionDescription>
- */
-public class AP1934 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1934(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // check for multipart/related content type
- if(!entryContext.getMessageEntry().isMimeContent())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // get MIME parts
- MimeParts parts = entryContext.getMessageEntry().getMimeParts();
- if(parts.count() == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- Iterator iparts = parts.getParts().iterator();
- // check each part for the Content-Transfer-Encoding field
- int i = 0;
- while (iparts.hasNext())
- {
- MimePart part = (MimePart)iparts.next();
- String type_value = MIMEUtils.getMimeHeaderAttribute(
- part.getHeaders(),
- MIMEConstants.HEADER_CONTENT_TRANSFER_ENCODING);
- if (type_value != null)
- {
- if((type_value == null) || !(type_value.equalsIgnoreCase("7bit") ||
- type_value.equalsIgnoreCase("8bit") ||
- type_value.equalsIgnoreCase("base64") ||
- type_value.equalsIgnoreCase("quoted-printable") ||
- type_value.equalsIgnoreCase("binary")))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "(" + (i+1) +
- "), part header field \"Content-Transfer-Encoding\" has incorrect value \""+
- type_value+"\"", entryContext);
- }
- }
- i++;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java
deleted file mode 100644
index 4d8fce7fc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1935.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * AP1935
- *
- * <context>For a candidate part of a multipart/related message</context>
- * <assertionDescription>The encoding of the body of a part in a
- * multipart/related message conforms to the encoding indicated by the
- * Content-Transfer-Encoding field-value,
- * as specified by RFC2045.</assertionDescription>
- */
-public class AP1935 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1935(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- if(!entryContext.getMessageEntry().isMimeContent())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // get MIME parts
- MimeParts parts = entryContext.getMessageEntry().getMimeParts();
- if(parts.count() == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check each part for the encoding match
- Iterator iparts = parts.getParts().iterator();
- int i = 0;
- MimePart root = parts.getRootPart();
- while (iparts.hasNext())
- {
- i = i = 1;
- try
- {
- MimePart part = (MimePart)iparts.next();
-
- // get encoding from header
- String encoding = HTTPUtils.getHttpHeaderAttribute(part.getHeaders(),
- HTTPConstants.HEADER_CONTENT_TRANSFER_ENCODING);
-
- if ((part == root) ||
- ((encoding != null) && encoding.equalsIgnoreCase("base64")))
- checkPart(part, encoding, false);
- else
- checkPart(part, encoding, true);
- } catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- "part "+(i+1)+" Error: " + e.getMessage(), entryContext);
- }
- }
- }
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
- /**
- * Check message entry to encoding conformity
- * @param entry message entry
- * @throws AssertionFailException if message does not encoding conformity
- * @throws WSIException
- */
- private void checkPart(MimePart part, String encoding, boolean encoded)
- throws AssertionFailException, WSIException
- {
- String content = null;
- if (encoded)
- content = new String(Utils.decodeBase64(part.getContent()));
- else
- content = part.getContent();
-
- if(encoding == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- // check 7bit
- } else if(encoding.equalsIgnoreCase("7bit")) {
- checkOn7bit(content);
- // check 8bit
- } else if(encoding.equalsIgnoreCase("8bit")) {
- checkOn8bit(content);
- // check quoted-printable
- } else if(encoding.equalsIgnoreCase("quoted-printable")) {
- checkOnQuotedPrintable(content);
- // check base64
- } else if(encoding.equalsIgnoreCase("base64")) {
- checkOnBase64(content);
- }
- // we dont check binary encoding, since message can contains any chars
- }
-
- /**
- * Validate a 7bit encoded message (RFC2045)
- * @param message message to check
- * @throws AssertionFailException if message does not conform
- */
- private void checkOn7bit(String message)
- throws AssertionFailException
- {
- String[] strs = split(message);
- for (int i = 0; i < strs.length; i++)
- {
- String str = strs[i];
-
- // check string length
- if(str.length() > 998)
- {
- throw new AssertionFailException("The length (" + str.length() +
- ") of the line (" + (i+1) + ") greater than 998");
- }
- // No octets with decimal values greater than 127
- // are allowed and neither are NULs (octets with decimal value 0). CR
- //(decimal value 13) and LF (decimal value 10) octets only occur as
- // part of CRLF line separation sequences.
- char[] chars = str.toCharArray();
- for (int j = 0; j < chars.length; j++)
- {
- if((chars[j] > 127) || (chars[j] == 0) ||
- (chars[j] == 10) || (chars[j] == 13))
- {
- throw new AssertionFailException("The char (" + chars[j] +
- ")[code=" + (byte) chars[j] + " position=" + j +
- "] does not allows in 7bit encoding content");
- }
- }
- }
- }
-
- /**
- * Validate an 8bit encoded message (RFC2045)
- * @param message message to check
- * @throws AssertionFailException if message does not conform
- */
- private void checkOn8bit(String message)
- throws AssertionFailException
- {
- String[] strs = split(message);
- for (int i = 0; i < strs.length; i++)
- {
- String str = strs[i];
-
- // check string length
- if(str.length() > 998)
- {
- throw new AssertionFailException("The length (" + str.length() +
- ") of the line (" + (i+1) + ") greater than 998");
- }
- // octets with decimal values greater than 127
- // may be used. As with "7bit data" CR and LF octets only occur as part
- // of CRLF line separation sequences and no NULs are allowed.
- char[] chars = str.toCharArray();
- for (int j = 0; j < chars.length; j++)
- {
- if((chars[j] == 0) || (chars[j] == 10) || (chars[j] == 13))
- {
- throw new AssertionFailException("The char (" + chars[j] +
- ")[code=" + (byte) chars[j] + " position=" + j +
- "] does not allows in 8bit encoding content");
- }
- }
- }
- }
-
- /**
- * Validate a quoted-printable encoded message (RFC2045)
- * @param message message to check
- * @throws AssertionFailException if message does not conform
- */
- private void checkOnQuotedPrintable(String message)
- throws AssertionFailException
- {
- String[] strs = split(message);
- for (int i = 0; i < strs.length; i++)
- {
- // check length
- // RFC2045
- // (5) (Soft Line Breaks) The Quoted-Printable encoding
- //REQUIRES that encoded lines be no more than 76
- //characters long. If longer lines are to be encoded
- //with the Quoted-Printable encoding, "soft" line breaks
- //must be used. An equal sign as the last character on a
- //encoded line indicates such a non-significant ("soft")
- //line break in the encoded text.
- if(((strs[i].indexOf("\t") != -1) || (strs[i].indexOf(" ") != -1)) &&
- (strs[i].length() > 76))
- {
- throw new AssertionFailException("The length (" + strs[i].length() +
- ") of the line (" + (i+1) +
- ") greater than 76, \"soft\" line breaks must be used");
- }
-
- char[] chars = strs[i].toCharArray();
- for (int j = 0; j < chars.length; j++)
- {
- //(1) (General 8bit representation) Any octet, except a CR or
- //LF that is part of a CRLF line break of the canonical
- //(standard) form of the data being encoded, may be
- //represented by an "=" followed by a two digit
- //hexadecimal representation of the octet's value. The
- //digits of the hexadecimal alphabet, for this purpose,
- //are "0123456789ABCDEF". Uppercase letters must be
- //used; lowercase letters are not allowed. Thus, for
- //example, the decimal value 12 (US-ASCII form feed) can
- //be represented by "=0C", and the decimal value 61 (US-
- //ASCII EQUAL SIGN) can be represented by "=3D". This
- //rule must be followed except when the following rules
- //allow an alternative encoding.
- // (2) (Literal representation) Octets with decimal values of
- //33 through 60 inclusive, and 62 through 126, inclusive,
- //MAY be represented as the US-ASCII characters which
- //correspond to those octets (EXCLAMATION POINT through
- //LESS THAN, and GREATER THAN through TILDE,
- //respectively).
- if((chars[j] == 61) && (chars.length > j+2))
- {
- if(!isHex(chars[j+1]) || !isHex(chars[j+2]))
- {
- throw new AssertionFailException("the quoted char (" +
- chars[j] + chars[j+1] + chars[j+2] + ") is incorrect");
- } else {
- j += 2;
- }
- }
- // check for space and tab
- else if((chars[j] != 9) && (chars[j] != 32))
- {
- // check invalid symbol
- if((chars[j] == 0) || (chars[j] == 10) || (chars[j] == 13) ||
- (chars[j] < 33) || (chars[j] > 126) || (chars[j] == 61))
- {
- throw new AssertionFailException("The char (" + chars[j] +
- ")[code=" + (byte) chars[j] + " position=" + j +
- "] must be quoted");
- }
- }
- }
- }
- }
-
- /**
- * Validate a base64 encoded message (RFC3548)
- * @param message message to check
- * @throws AssertionFailException if message does not conform
- */
- private void checkOnBase64(String message)
- throws AssertionFailException
- {
- String[] strs = split(message);
- for (int i = 0; i < strs.length; i++)
- {
- String str = strs[i];
-
- // check string length
- if(str.length() > 76)
- {
- throw new AssertionFailException("The length (" + str.length() +
- ") of the line (" + (i+1) + ") greater than 998");
- }
- // check for "ABCDEFGHIJKLMNOPQRSTUVWXYZabcefghijklmnopqrstuvwxyz0123456789/+"
- char[] chars = str.toCharArray();
- for (int j = 0; j < chars.length; j++)
- {
- char c = chars[i];
- if((c < 47) || (c > 122) || ((c > 57) && (c < 65)) ||
- ((c > 90) && (c < 97)))
- {
- throw new AssertionFailException("The char (" + chars[j] +
- ")[code=" + (byte) chars[j] + " position=" + j +
- "] does not allows in base64 encoding content");
- }
- }
- }
- }
-
- /**
- * split string to array of strings and use as delimeter CRLF
- * @param str original string
- * @return array of strings
- */
- private String[] split(String str)
- {
- ArrayList list = new ArrayList();
- for(int idx = str.indexOf("\r\n"); idx != -1; idx = str.indexOf("\r\n"))
- {
- list.add(str.substring(0, idx));
- str = str.substring(idx+2);
- }
- list.add(str);
- return (String[]) list.toArray(new String[list.size()]);
- }
-
- /**
- * Returns true if byte is "0123456789ABCDEF" range, false othewise
- * @param c char
- * @return true if byte is "0123456789ABCDEF" range, false othewise
- */
- private boolean isHex(char c) {
- return (((c >= 48) && (c <= 57)) || ((c >= 65) && (c <= 70)));
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java
deleted file mode 100644
index db8ae713f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1936.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP1936
- * <context>For a candidate multipart/related message</context>
- * <assertionDescription>In a message, all MIME encapsulation boundary strings
- * are preceded with the ascii characters CR (13) and LF (10)
- * in that sequence.</assertionDescription>
- */
-public class AP1936 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public AP1936(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // if boundary equals null, then result is not applicable
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // otherwise it is true -- checked in monitor
- // MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
- // Iterator i = mimeParts.getParts().iterator();
- // boolean invalidBoundaryStringFound = false;
- //while (i.hasNext() && !invalidBoundaryStringFound)
- //{
- // MimePart part = (MimePart)i.next();
- // String[] boundaries = part.getBoundaryStrings();
- // for (int j = 0; j<boundaries.length; j++)
- // {
- // if (!boundaries[j].startsWith("&#xd;\n"))
- // {
- // invalidBoundaryStringFound = true;
- // result = AssertionResult.RESULT_FAILED;
- // failureDetail = validator.createFailureDetail(boundaries[j], entryContext);
- // break;
- // }
- // }
- //}
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java
deleted file mode 100644
index 5fb7973ea..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1942.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimePart;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.MIMEConstants;
-import org.eclipse.wst.wsi.internal.core.util.MIMEUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-
-/**
- * AP1942
- *
- * <context>For a candidate part of a multipart/related message that is bound
- * to a mime:content that refers to global element declaration (via the element
- * attribute of the wsdl:part element)</context>
- * <assertionDescription>The bound message part is serialized within the MIME
- * part as a serialization of an XML infoset whose root element is described by
- * the referenced element.</assertionDescription>
- */
-public class AP1942 extends AssertionProcess implements WSITag
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1942(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- if (!entryContext.getMessageEntry().isMimeContent())
- {
- throw new AssertionNotApplicableException();
- }
- else
- {
- MimeParts mimeParts = entryContext.getMessageEntry().getMimeParts();
-
- // If the message does not contain non-root MIME parts
- // the assertion is not applicable
- if (mimeParts.count()< 2)
- throw new AssertionNotApplicableException();
-
- // Getting an operation matched for a message
- BindingOperation bindingOperation = validator.getOperationMatch(
- entryContext.getEntry().getEntryType(),
- entryContext.getMessageEntryDocument());
- // If no one operation matches, the assertion is not applicable
- if (bindingOperation == null)
- throw new AssertionNotApplicableException();
- // Getting the corresponding extensibility elements and message
- List extElems;
- Message message;
- if (MessageEntry.TYPE_REQUEST
- .equals(entryContext.getEntry().getEntryType()))
- {
- extElems = bindingOperation.getBindingInput() == null ? null
- : bindingOperation.getBindingInput().getExtensibilityElements();
- message = bindingOperation.getOperation().getInput() == null ? null
- : bindingOperation.getOperation().getInput().getMessage();
- }
- else
- {
- extElems = bindingOperation.getBindingOutput() == null ? null
- : bindingOperation.getBindingOutput().getExtensibilityElements();
- message = bindingOperation.getOperation().getOutput() == null ? null
- : bindingOperation.getOperation().getOutput().getMessage();
- }
- // A variable that indicates a binding contains at least one
- // mime:content element that refers to global element declaration
- boolean mimeContentFound = false;
- // Going through the message MIME parts
- Iterator iMimeParts = mimeParts.getParts().iterator();
- int i = 0;
- while (iMimeParts.hasNext())
- {
- i = i + 1;
- // Getting a MIME part
- MimePart mimePart = (MimePart)iMimeParts.next();
- // Getting a part name form the Content-ID header
- String partName = MIMEUtils.getMimeHeaderAttribute(
- mimePart.getHeaders(), MIMEConstants.HEADER_CONTENT_ID);
- try
- {
- int idx = partName.indexOf("=");
- if((idx != -1) && partName.startsWith("<"))
- partName = encodePartName(partName.substring(1, idx));
- }
- catch (Exception e)
- {
- // Could not extract a part name from the header,
- // proceed with the next MIME part
- continue;
- }
-
- // If the part is bound by a mime:content element
- if (boundToMimeContent(extElems, partName) && message != null)
- {
- // Getting the corresponding part
- Part part = (Part) message.getParts().get(partName);
- QName refName;
- // If the part refers to global element declaration
- if (part != null && (refName = part.getElementName()) != null)
- {
- mimeContentFound = true;
- // Trying to parse part content
- Document doc = null;
- try
- {
- doc = XMLUtils.parseXML(mimePart.getContent());
- }
- catch (Exception e) {}
- // If the message is not an XML infoset, the assertion failed
- if (doc == null)
- {
- throw new AssertionFailException("The bound message part of the "
- + "MIME part number " + (i + 1) + " is invalid XML infoset.");
- }
- // Creating a QName object of the root element
- QName rootName = new QName(
- doc.getDocumentElement().getNamespaceURI(),
- doc.getDocumentElement().getLocalName());
- // If the names of the root element and the referenced element
- // are not equal, the assertion failed
- if (!refName.equals(rootName))
- {
- throw new AssertionFailException("The root element name is "
- + rootName + ", the name of the referenced element is "
- + refName + ".");
- }
- }
- }
- }
- // If no mime:contentS found, the assertion is not applicable
- if (!mimeContentFound)
- throw new AssertionNotApplicableException();
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
-
- /**
- * Validates whether a part is bound by a mime:content element.
- * @param extElems a list of extensibility elements.
- * @param part a part name.
- * @return true if a part is bound by mime:content, false otherwise.
- */
- private boolean boundToMimeContent(List extElems, String part)
- {
- if (extElems != null && extElems.size() > 0)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(0);
- // Expected the first ext elem is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- for (int i = 0; i < mimeParts.size(); i++)
- {
- // Getting the mime:part element needed
- List elems = ((MIMEPart) mimeParts.get(i)).getExtensibilityElements();
- if (elems.size() > 0)
- {
- // Getting the first element
- ExtensibilityElement elem = (ExtensibilityElement) elems.get(0);
- // If the element is mime:content and it binds a part
- if (elem.getElementType().equals(WSDL_MIME_CONTENT)
- && part.equals(((MIMEContent)elem).getPart()))
- {
- return true;
- }
- }
- }
- }
- }
- return false;
- }
-
- /**
- * Encode string from %HH to UTF
- * @param str string
- * @return encoded string from %HH format
- */
- private String encodePartName(String str) {
- StringBuffer res = new StringBuffer("");
- for (int i = 0; i < str.length(); i++)
- {
- if((str.charAt(i) == '%') && (str.length() > i+2))
- {
- try
- {
- int value = Integer.parseInt(
- String.valueOf(str.charAt(i+1)) +
- String.valueOf(str.charAt(i+2)), 16);
- res.append((char) value);
- i +=2;
- }
- catch(NumberFormatException e){}
- }
- else
- {
- res.append(str.charAt(i));
- }
- }
- return res.toString();
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java
deleted file mode 100644
index 1dbf310cb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1945.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * AP1945
- * <context>For a candidate message</context>
- * <assertionDescription>The Content-Type HTTP header field-value in a message
- * is either "multipart/related" or "text/xml".</assertionDescription>
- */
-public class AP1945 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public AP1945(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- String headerName = HTTPConstants.HEADER_CONTENT_TYPE;
-
- // Getting a header
- String headerValue = HTTPUtils.getHttpHeaderAttribute(
- entryContext.getMessageEntry().getHTTPHeaders(),
- headerName);
- // If headerValue is null, the assertion is not applicable
- if (headerValue == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // If the header is "multipart/related" or "text/xml",
- // then the assertion passed
- else if (headerValue.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_MULTIPART)
- || headerValue.equalsIgnoreCase(WSIConstants.CONTENT_TYPE_TEXT_XML))
- {
- }
- // else the assertion failed
- else {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- headerValue, entryContext);
- }
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java
deleted file mode 100644
index aaf0f1cb2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP1946.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP1946
- *
- * <context>For a candidate multipart/related message
- * containing non-root parts</context>
- * <assertionDescription>The candidate multipart/related message
- * containing non-root parts.</assertionDescription>
- */
-public class AP1946 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP1946(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // If there are more than one MIME parts, the assertion passed
- if (entryContext.getMessageEntry().getMimeParts().count() > 1)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- // The assertion is not applicable
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java
deleted file mode 100644
index 850e66029..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5100.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP5100
- *
- * <context>For a candidate non-multipart/related message in the log file, with an HTTP entity-body.</context>
- * <assertionDescription>The SOAP envelope is the exclusive payload of the HTTP entity-body.</assertionDescription>
- *
- * @author lauzond
- */
-public class AP5100 extends SSBP5100
-{
- /**
- * Constructor.
- * @param impl
- */
- public AP5100(BaseMessageValidator impl)
- {
- super(impl);
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // If there is a SOAP Message with Attachments, the assertion is not applicable
- if (entryContext.getMessageEntry().isMimeContent())
- {
- return validator.createAssertionResult(testAssertion, AssertionResult.RESULT_NOT_APPLICABLE, failureDetail);
- }
- else
- {
- return super.validate(testAssertion, entryContext);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java
deleted file mode 100644
index 5ba2cb9e0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/AP5101.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
- package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP5101
- * <context>For a non-multipart/related candidate message in the log file.</context>
- * <assertionDescription>A message must have a "Content-Type" HTTP header field. The "Content-Type" HTTP header field must have a field-value whose media type is "text/xml".</assertionDescription>
- *
- * @author lauzond
- */
-public class AP5101 extends SSBP5101 {
-
- /**
- * @param impl
- */
- public AP5101(BaseMessageValidator impl)
- {
- super(impl);
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // If there is a SOAP Message with Attachments, the assertion is not applicable
- if (entryContext.getMessageEntry().isMimeContent())
- {
- return validator.createAssertionResult(testAssertion, AssertionResult.RESULT_NOT_APPLICABLE, failureDetail);
- }
- else
- {
- return super.validate(testAssertion, entryContext);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java
deleted file mode 100644
index 0abcbcc13..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1001.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
- package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP1001.
- * If it is a request, the arg #2 of POST is &lt;HTTP/1.1&gt;. If absent, first line of the
- * body is: HTTP-Version = HTTP/1.1. If it is a response, it starts with &lt;HTTP/1.1&gt;.
- */
-public class BP1001 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1001(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
-
- // If this is a request message, then check POST header
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_REQUEST))
- {
- Vector requestLine;
- if (((requestLine = this.validator.getPostRequest(httpHeader)) == null)
- || (requestLine.size() == 0))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- String method = (String) requestLine.get(0);
- //String requestURI = (String) requestLine.get(1);
- String httpVersion = (String) requestLine.get(2);
-
- //For each request message that is an HTTP POST
- if (method.equals(MessageValidator.HTTP_POST) && httpVersion != null)
- {
- if (httpVersion.equals(MessageValidator.HTTP_VERSION_1_1))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- }
- }
- }
-
- // Otherwise it must be a response
- else
- {
- if (httpHeader.startsWith(MessageValidator.HTTP_VERSION_1_1))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java
deleted file mode 100644
index 7564c1569..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1002.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP1002.
- * If it is a request, the arg #2 of POST is &lt;HTTP/1.1&gt; or &lt;HTTP/1.0&gt;. If absent, first line
- * of the body is: HTTP-Version = HTTP/1.1. (or HTTP/1.0). If it is a response, it starts with
- * &lt;HTTP/1.1&gt; or &lt;HTTP/1.0&gt; or higher;
- */
-public class BP1002 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1002(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
-
- // If this is a request message, then check POST for 1.1 or 1.0
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_REQUEST))
- {
- // Get each entry in the post header
- StringTokenizer postMessage = new StringTokenizer(httpHeader, " \r\n");
-
- // If there is no third token, then fail
- if (postMessage.countTokens() < 3)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- else
- {
- // Get the 3rd token (there must be a better way to do this?)
- String httpVersion = "";
- String messageType = "";
- for (int i = 0; i < 3; i++)
- {
- // Message type
- if (i == 0)
- messageType = postMessage.nextToken();
- else if (i == 2)
- httpVersion = postMessage.nextToken();
- else
- postMessage.nextToken();
- }
-
- if (!messageType.equals("POST"))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // If the third token is not HTTP/1.1 ot HTTP/1.0, then fail
- else if (
- (!httpVersion.equalsIgnoreCase(MessageValidator.HTTP_VERSION_1_1))
- && (!httpVersion.equalsIgnoreCase(MessageValidator.HTTP_VERSION_1_0)))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- }
- }
-
- // Else it is a response message
- else
- {
- // Response-Line (1st) = HTTP-Version SP Response-code SP Response-text CRLF
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- String startLine = null;
- try
- {
- if (httpMessageTokenizer.hasMoreTokens())
- {
- startLine = httpMessageTokenizer.nextToken();
- }
- else
- {
- // HTTP version info expected but not found
- // (state the fact in the exception message?)
- throw new AssertionFailException(httpHeader);
- }
-
- // check that protocol version indicates HTTP/1.0 or HTTP/1.1
- if (!startLine.startsWith(MessageValidator.HTTP_VERSION_1_1)
- && !startLine.startsWith(MessageValidator.HTTP_VERSION_1_0))
- {
- throw new AssertionFailException(httpHeader);
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java
deleted file mode 100644
index 8b06ae766..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1004.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP1004.
- * The request message is a POST message, without any use of framework extension.
- */
-public class BP1004 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1004(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
- StringTokenizer httpMessageTokenizer =
- new StringTokenizer(httpHeader, "\n\r\f");
-
- // Check if this is a POST message
- if (!httpHeader.startsWith(MessageValidator.HTTP_POST))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
-
- String line = null;
- while (httpMessageTokenizer.hasMoreTokens()
- && (result.equals(AssertionResult.RESULT_PASSED)))
- {
- line = httpMessageTokenizer.nextToken();
- if ((line != null)
- && (line.startsWith("M-POST") || line.startsWith("Ext:")))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(httpHeader, entryContext);
- }
- } //End While
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java
deleted file mode 100644
index b067ce09b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1006.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.Map;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * BP1006.
- */
-public class BP1006 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1006(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Parse the HTTP header
- String rawHTTPHeader = entryContext.getMessageEntry().getHTTPHeaders();
- Map httpHeader = HTTPUtils.getHttpHeaderTokens(rawHTTPHeader, ":");
-
- // Get the soap action header
- String soapAction = (String) httpHeader.get("SOAPAction".toUpperCase());
-
- // If there is no soap action header, then NA
- if (soapAction == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else if (!(soapAction.startsWith("\"")) || !(soapAction.endsWith("\"")))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "HTTP Header: \"" + rawHTTPHeader + "\".",
- entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java
deleted file mode 100644
index faac735e3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1010.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Operation;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.w3c.dom.Document;
-
-
-/**
- * BP1010.
- * It MUST NOT contain a SOAP Envelope: the HTTP entity-body must be empty.
- */
-public class BP1010 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1010(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- try
- {
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
-
- if (match == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
-
- BindingOperation bindingOperation = match.getOperation();
- //find operation in port type
- Operation operation = bindingOperation.getOperation();
- if (operation == null)
- {
- result = AssertionResult.RESULT_FAILED;
- }
- else
- {
- if (operation.getOutput() == null)
- {
- String message = entryContext.getMessageEntry().getMessage();
- if (message.length() == 0)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- }
-
- if (result == AssertionResult.RESULT_FAILED)
- {
- failureDetail = this.validator.createFailureDetail(null, entryContext);
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java
deleted file mode 100644
index baecac158..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1101.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-
-/**
- * BP1101.
- * A response message that does not contain a SOAP message SHOULD be sent
- * using either a "200 OK" or "202 Accepted" HTTP status code.
- */
-public class BP1101 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1101(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // response does not contains SOAP message
- if (entryContext.getMessageEntry().getMessage() == null
- || "".equals(entryContext.getMessageEntry().getMessage()))
- {
- // check HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
- if ("200".equals(httpStatus));
- else if ("202".equals(httpStatus));
-
- // If 4xx, then result is notApplicable
- else if (httpStatus.startsWith("4"))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nResponse message:\nHeaders:\n"
- + entryContext.getMessageEntry().getHTTPHeaders()
- + "Message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
- else
- {
- // response contains SOAP message
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java
deleted file mode 100644
index 900938f1f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1103.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-
-/**
- * BP1103.
- * The request message should not contain a POST method.
- */
-public class BP1103 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1103(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- MessageEntry request = entryContext.getRequest();
- String requestHeaders = request.getHTTPHeaders();
-
- // Get HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
-
- if (requestHeaders.startsWith("POST "))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else if (!"405".equals(httpStatus))
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nRequest message:\nHeaders:\n"
- + entryContext.getRequest().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getRequest().getMessage()
- + "\n\nResponse message:\nHeaders:\n"
- + entryContext.getResponse().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getResponse().getMessage(),
- entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java
deleted file mode 100644
index 4fcdbd756..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1104.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-
-/**
- * BP1104.
- * The request message should not contain a content-type of "text/xml".
- */
-public class BP1104 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1104(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // check request for the "text/xml" content type
- MessageEntry request = entryContext.getRequest();
- String headers = request.getHTTPHeaders();
- String contentType = (String) HTTPUtils.getHttpHeaderTokens(headers, ":")
- .get(HTTPConstants.HEADER_CONTENT_TYPE.toUpperCase());
-
- // Get HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
-
- // If the request message has a content type of text/xml,
- // then the assertion is not applicable
- if (contentType != null
- && contentType.indexOf(WSIConstants.CONTENT_TYPE_TEXT_XML) != -1)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check HTTP status code
- if (!"415".equals(httpStatus))
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nRequest message:\nHeaders:\n"
- + entryContext.getRequest().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getRequest().getMessage()
- + "\n\nResponse message:\nHeaders:\n"
- + entryContext.getResponse().getHTTPHeaders()
- + "\nMessage:\n"
- + entryContext.getResponse().getMessage(),
- entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java
deleted file mode 100644
index 250f84f2b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP1116.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.w3c.dom.Document;
-
-
-/**
- * BP1116.
- * SOAPAction header should contain a quoted string that has same
- * value as the value of the soapbind:operation/@soapAction attribute,
- * and an empty string ("") if there is no such attribute.
- */
-public class BP1116 extends AssertionProcessVisitor
-{
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP1116(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private String action = null;
- private String headers = null;
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation soapOper,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String soapAction = soapOper.getSoapActionURI();
- if (soapAction == null)
- {
- if (!"".equals(action))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "\nHTTP headers:\n" + headers + "\nsoapAction:\n" + soapAction;
- }
- }
- else
- {
- if (!soapAction.equals(action))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "\nHTTP headers:\n" + headers + "\nsoapAction:\n" + soapAction;
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Parse request message
- Document doc = entryContext.getMessageEntryDocument();
-
- // get SOAPAction
- headers = entryContext.getRequest().getHTTPHeaders();
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
-
- if (action == null)
- throw new AssertionNotApplicableException();
-
- if (action.length() > 1
- && action.charAt(0) == '"'
- && action.charAt(action.length() - 1) == '"')
- {
- action = action.substring(1, action.length() - 1);
- }
-
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- doc,
- null,
- validator.analyzerContext.getCandidateInfo().getBindings()[0],
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator),
- false);
-
- if (match != null)
- {
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPOperation(true);
- traversal.traverse(match.getOperation());
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- if (result == AssertionResult.RESULT_FAILED
- && failureDetailMessage != null)
- {
- failureDetail = this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java
deleted file mode 100644
index e63a5cf14..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4103.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * BP4103
- *
- * <context>For a candidate message in the message log file</context>
- * <assertionDescription>The message contains an HTTP Authentication header field</assertionDescription>
- */
-public class BP4103 extends AssertionProcess {
-
- private static final String HTTP_AUTH_SCHEME_BASIC = "Basic";
- private static final String HTTP_AUTH_SCHEME_DIGEST = "Digest";
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4103(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Getting message headers
- String headers = entryContext.getMessageEntry().getHTTPHeaders();
- // If this is a request message
- if (entryContext.getMessageEntry().getType().equals(MessageEntry.TYPE_REQUEST))
- {
- // If the request headers contain authentication scheme "Basic" or "Digest"
- // or there are no HTTP Authentication headers, the assertion is not applicable
- if (!containsInvalidAuth(headers, HTTPConstants.HEADER_AUTHORIZATION)
- && !containsInvalidAuth(headers, HTTPConstants.HEADER_PROXY_AUTHORIZATION))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- // else this is a response
- else
- {
- // If the response headers contain authentication scheme "Basic" or "Digest"
- // or there are no HTTP Authentication headers, the assertion is not applicable
- if (!containsInvalidAuth(headers, HTTPConstants.HEADER_WWW_AUTHENTICATE)
- && !containsInvalidAuth(headers, HTTPConstants.HEADER_PROXY_AUTHENTICATE))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
-
- // Assertion result has not been changed, HTTP Authentication headers
- // does not contain authentication scheme "Basic" or "Digest",
- // the assertion passed
- if (result.equals(AssertionResult.RESULT_PASSED))
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether HTTP headers contain HTTP Authentication headers that uses
- * authentication scheme other than "Basic" or "Digest".
- * @param headers HTTP headers.
- * @param header a header name being retrieved.
- * @return true if the HTTP Authentication header that uses authentication
- * scheme other than "Basic" or "Digest" is found, false otherwise.
- */
- private boolean containsInvalidAuth(String headers, String header)
- {
- // Getting a header value
- String headerValue = null;
- try
- {
- headerValue = (String) HTTPUtils.getHttpHeaderTokens(headers,":")
- .get(header.toUpperCase());
- }
- catch (Exception e) {}
-
- // If the header is presented
- if (headerValue != null)
- {
- // Retrieving authentication scheme
- int idxSP = headerValue.indexOf(" ");
- if (idxSP > -1)
- {
- headerValue = headerValue.substring(0, idxSP);
- }
- // If a scheme is neither "Basic" nor "Digest", return true
- if (!headerValue.equalsIgnoreCase(HTTP_AUTH_SCHEME_BASIC)
- && !headerValue.equalsIgnoreCase(HTTP_AUTH_SCHEME_DIGEST))
- {
- return true;
- }
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java
deleted file mode 100644
index 36d0cf961..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4104.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * BP4104
- * <context>For a candidate message in the message log file containing an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt)</context>
- * <assertionDescription>The message contains an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt)</assertionDescription>
- */
-public class BP4104 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- private List knownHeaderNames;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4104(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- knownHeaderNames = null;
- }
-
- private List getAllKnownHeaderNames() {
- if (knownHeaderNames == null) {
- knownHeaderNames = HTTPConstants.getAllKnownHeaderNames();
- }
- return knownHeaderNames;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // getting HTTP Headers
- Map hmap = HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(), ":");
-
- Iterator i = hmap.keySet().iterator() ;
- while (i.hasNext()) {
- String headerName = (String) i.next();
- // If header name is not known, then the assertion passed
- if (!getAllKnownHeaderNames().contains(headerName.toUpperCase()))
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
-
- break;
- }
- }
-
- // If there is no HTTP header that is not from a list,
- // then the assertion is not applicable
- if (failureDetail == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java
deleted file mode 100644
index d14f77888..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4105.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * BP4105
- * <context>For a candidate message in the message log file containing a Content-encoding HTTP header field with a value other than "gzip", "compress" or "deflate"</context>
- * <assertionDescription>The contained Content-encoding HTTP header field has a value other than "gzip", "compress" or "deflate".</assertionDescription>
- */
-public class BP4105 extends AssertionProcess {
-
- // All the registered content-coding value tokens (RFC2616) except "identity"
- private static final String GZIP_VALUE = "gzip";
- private static final String COMPRESS_VALUE = "compress";
- private static final String DEFLATE_VALUE = "deflate";
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4105(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // Getting the Content-Encoding HTTP header value
- String contentEncoding = (String) HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(),
- ":").get(HTTPConstants.HEADER_CONTENT_ENCODING.toUpperCase());
-
- if (contentEncoding != null)
- {
- // Lowering value's case because RFC2616 says
- // that all content-coding values are case-insensitive
- contentEncoding = contentEncoding.toLowerCase();
-
- // Multiple encodings can be applied to an entity,
- // so breaking the value into tokens
- StringTokenizer st = new StringTokenizer(contentEncoding, ",");
- while (st.hasMoreTokens())
- {
- String token = st.nextToken().trim();
- // If a token does not equal to any registered one
- // then the assertion passed
- if ( !token.equals(GZIP_VALUE)
- && !token.equals(COMPRESS_VALUE)
- && !token.equals(DEFLATE_VALUE)) {
-
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
-
- break;
- }
- }
- }
-
- // If there is no unregistered value of Content-Encoding,
- // then the assertion is not applicable
- if (failureDetail == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java
deleted file mode 100644
index a278633b0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4106.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * BP4106
- * <context>For a candidate response message in the message log file that contains a transfer-encoding HTTP header field.</context>
- * <assertionDescription>The contained transfer-encoding HTTP header field has a value of "chunked"</assertionDescription>
- */
-public class BP4106 extends AssertionProcess {
-
- private static final String CHUNKED_VALUE = "chunked";
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4106(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // Getting a Transfer-Encoding HTTP header value
- String transferEncoding = (String) HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(),
- ":").get(HTTPConstants.HEADER_TRANSFER_ENCODING.toUpperCase());
-
- if (transferEncoding != null)
- {
- // Lowering value's case because RFC2616 says
- // that all transfer-coding values are case-insensitive
- transferEncoding = transferEncoding.toLowerCase();
-
- // If the value is other than "chunked", then the assertion passed
- if (!transferEncoding.equals(CHUNKED_VALUE)) {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- }
-
- // If there is no Tranfer-Encoding or its value is "chunked",
- // then the assertion is not applicable
- if (failureDetail == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java
deleted file mode 100644
index e699a3320..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/BP4107.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * BP4107
- * <context>For a request message containing an Upgrade field in the HTTP Headers.</context>
- * <assertionDescription>The request message contains an Upgrade field in the HTTP Headers.</assertionDescription>
- */
-public class BP4107 extends AssertionProcess {
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public BP4107(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Getting the Upgrade HTTP header value
- String upgrage = (String) HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(),
- ":").get(HTTPConstants.HEADER_UPGRADE.toUpperCase());
-
- // If the header is presented, then the assertion passed
- if (upgrage != null)
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription(), entryContext);
- }
- // else the assertion is not applicable
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java
deleted file mode 100644
index 015bff2a2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/MessageValidatorImpl.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * IBM - Initial API and implementation
- * Parasoft - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.MessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-
-/**
- * @version 1.0
- */
-public class MessageValidatorImpl
- extends BaseMessageValidator
- implements MessageValidator
-{
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext entryContext)
- {
- boolean match = false;
-
- // Verify that the entry and test assertion have the same primary context
- if ((testAssertion.getEntryTypeName().equals(EntryType.TYPE_MESSAGE_ANY))
- || (testAssertion.getEntryTypeName().equals(EntryType.TYPE_MESSAGE_REQUEST)
- && (entryContext
- .getEntry()
- .getEntryType()
- .getTypeName()
- .equals(EntryType.TYPE_MESSAGE_REQUEST)))
- || (testAssertion.getEntryTypeName().equals(EntryType.TYPE_MESSAGE_RESPONSE)
- && (entryContext
- .getEntry()
- .getEntryType()
- .getTypeName()
- .equals(EntryType.TYPE_MESSAGE_RESPONSE)))
- || testAssertion.getEntryTypeName().equals(EntryType.TYPE_MIME_ROOT_PART)
- || testAssertion.getEntryTypeName().equals(EntryType.TYPE_MIME_PART))
- {
- match = true;
- }
-
- return match;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java
deleted file mode 100644
index 461eae6c4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP1003.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.Map;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-
-/**
- * SSBP1003.
- *
- * <context>For a candidate non-multipart/related message in the log file, which has a non-empty entity-body</context>
- * <assertionDescription>
- * The logged SOAP envelope is a UTF-8 transcript of an envelope originally encoded as UTF-8 or UTF-16.
- * The HTTP Content-Type header's charset value is either UTF-8 or UTF-16. Looking at the messageContent
- * element of the logged message, either
- * (1) it has a BOM attribute which maps the charset value in the Content-Type header, or
- * (2) it has it has an XML declaration which matches the charset value in the Content-Type header, or
- * (3) there is no BOM attribute and no XML declaration, and the charset value is UTF-8.
- * </assertionDescription>
- *
- * @author lauzond
- */
-public class SSBP1003 extends AssertionProcess
-{
- protected final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP1003(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // If there is a response message for one-way operation, the assertion is not applicable
- if (validator.isOneWayResponse(entryContext))
- {
- throw new AssertionNotApplicableException();
- }
-
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
-
- Map httpHeaderMap = HTTPUtils.getHttpHeaderTokens(httpHeader, ":");
- String contentType = (String) httpHeaderMap.get("Content-Type".toUpperCase());
-
- if (contentType == null)
- {
- throw new AssertionFailException(
- "The Content-Type header is not present.");
- }
-
- contentType = contentType.trim();
- String charset = contentType.substring(
- contentType.indexOf(";") + 1, contentType.length());
- charset = charset.trim();
- if (!charset.startsWith("charset"))
- {
- throw new AssertionFailException(
- "Missing or bad \"charset\" attribute in the Content-Type header: "
- + charset);
- }
-
- String charsetValue = charset.substring(
- charset.indexOf("=") + 1, charset.length());
- if (charsetValue.startsWith("\""))
- {
- charsetValue = charsetValue.substring(1, charsetValue.length() - 1);
- }
-
- if (!charsetValue.equalsIgnoreCase("utf-8")
- && !charsetValue.equalsIgnoreCase("utf-16"))
- {
- throw new AssertionFailException("The value of the \"charset\" "
- + "attribute of the Content-Type header is " + contentType);
- }
- // Parse log message
- //gets first string
- int idx = entryContext.getMessageEntry().getMessage().indexOf("<?xml");
- if (idx == -1)
- {
- throw new AssertionPassException();
- }
-
- int idx2 = entryContext.getMessageEntry().getMessage().indexOf("?>");
- if (idx2 == -1)
- {
- throw new AssertionPassException();
- }
-
- String xmlDeclaration = entryContext.getMessageEntry().getMessage()
- .substring(idx, idx2 + "?>".length());
-
- idx = xmlDeclaration.indexOf("encoding");
- if (idx == -1)
- {
- if (charsetValue.equalsIgnoreCase("utf-8"))
- {
- throw new AssertionPassException();
- }
- else
- {
- throw new AssertionFailException("There is no XML declaration and the"
- + " charset value in the Content-Type header is not UTF-8."
- + "\nCharset value in the Content-Type header: " + charsetValue);
- }
- }
-
- int idxQ = xmlDeclaration.indexOf('\'', idx);
- int idxQQ = xmlDeclaration.indexOf('\"', idx);
- int idxQuote = -1;
- char qouteCh = '\0';
- if (idxQ == -1)
- {
- idxQuote = idxQQ;
- qouteCh = '\"';
- }
- else
- {
- if (idxQQ == -1)
- {
- idxQuote = idxQ;
- qouteCh = '\'';
- }
- else
- {
- if (idxQQ < idxQ)
- {
- idxQuote = idxQQ;
- qouteCh = '\"';
- }
- else
- {
- idxQuote = idxQ;
- qouteCh = '\'';
- }
- }
- }
-
- if (idxQuote == -1 || qouteCh == '\0')
- {
- throw new AssertionPassException();
- }
-
- int idxLQoute = xmlDeclaration.indexOf(qouteCh, idxQuote + 1);
-
- if (idxLQoute == -1)
- {
- throw new AssertionPassException();
- }
-
- String xmlEncoding =
- xmlDeclaration.substring(idxQuote + 1, idxLQoute);
- if (charsetValue.equalsIgnoreCase(xmlEncoding))
- {
- // If there is a BOM, then check that it is the same as the xmlEncoding
- int bom = 0;
- if ((bom = entryContext.getMessageEntry().getBOM()) != 0)
- {
- if ((bom == WSIConstants.BOM_UTF8
- && !xmlEncoding.equalsIgnoreCase("utf-8"))
- || ((bom == WSIConstants.BOM_UTF16
- && !xmlEncoding.equalsIgnoreCase("utf-16")))
- || ((bom == WSIConstants.BOM_UTF16_BIG_ENDIAN
- && !xmlEncoding.equalsIgnoreCase("utf-16"))))
- {
- throw new AssertionFailException(
- "The BOM and XML declaration do not match.");
- }
- }
-
- throw new AssertionPassException();
- }
- else
- {
- throw new AssertionFailException("There is an XML declaration, but its "
- + "encoding value does not match the charset value.\n"
- + "Charset value in the Content-Type header: " + charsetValue
- + "\nEncoding in the XML declaration: " + xmlEncoding);
- }
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java
deleted file mode 100644
index f62152a45..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5100.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-
-
-/**
- * SSBP5100
- * <context>For a candidate message in the log file, with an HTTP entity-body.</context>
- * <assertionDescription>The SOAP envelope is the exclusive payload of the HTTP entity-body.</assertionDescription>
- */
-public class SSBP5100 extends AssertionProcess {
-
- protected final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP5100(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- try
- {
- // Getting a message document
- Document doc = entryContext.getMessageEntryDocument();
-
- // If the message is empty or invalid, the assertion is not applicable
- if (doc == null)
- {
- if (this.validator.isOneWayResponse(entryContext))
- throw new AssertionNotApplicableException();
- else
- throw new AssertionFailException();
- }
- if (!doc.getDocumentElement().getLocalName().equals(XMLUtils.SOAP_ELEM_ENVELOPE))
- throw new AssertionFailException();
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- testAssertion.getFailureMessage(),
- entryContext);
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java
deleted file mode 100644
index 82ae52074..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/SSBP5101.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-
-/**
- * SSBP5101
- * <context>For a candidate message in the log file.</context>
- * <assertionDescription>A message must have a "Content-Type" HTTP header field. The "Content-Type" HTTP header field must have a field-value whose media type is "text/xml".</assertionDescription>
- *
- * @author lauzond
- */
-public class SSBP5101 extends AssertionProcess {
-
- protected final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public SSBP5101(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // getting Content-Type HTTP header
- String contentType = (String) HTTPUtils.getHttpHeaderTokens(
- entryContext.getMessageEntry().getHTTPHeaders(),
- ":").get(HTTPConstants.HEADER_CONTENT_TYPE.toUpperCase());
-
- // if Content-Type header is not presented
- // or does not equal to text/xml, then the assertion is failed
- if (contentType == null
- || !contentType.startsWith(WSIConstants.CONTENT_TYPE_TEXT_XML))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- testAssertion.getFailureMessage(),
- entryContext);
- }
- return this.validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java
deleted file mode 100644
index 53066b547..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1001.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1001
- */
-public class WSI1001 extends BP1001
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1001(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java
deleted file mode 100644
index cb4308bf4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1002.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1002
- */
-public class WSI1002 extends BP1002
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1002(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java
deleted file mode 100644
index 7d041049f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1003.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1003
- */
-public class WSI1003 extends SSBP1003
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1003(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java
deleted file mode 100644
index adfad8642..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1004.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1004
- */
-public class WSI1004 extends BP1004
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1004(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java
deleted file mode 100644
index f31c00676..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1005.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1005;
-
-/**
- * WSI1005
- */
-public class WSI1005 extends BP1005
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1005(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java
deleted file mode 100644
index 72d6f8824..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1006.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1006
- */
-public class WSI1006 extends BP1006
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1006(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java
deleted file mode 100644
index 9385aaaa8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1007.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1007;
-
-/**
- * WSI1007
- */
-public class WSI1007 extends BP1007
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1007(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java
deleted file mode 100644
index 92cd0eeab..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1008.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1008;
-
-/**
- * WSI1008
- */
-public class WSI1008 extends BP1008
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1008(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java
deleted file mode 100644
index 5b68ebe20..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1009.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1009;
-
-/**
- * WSI1009
- */
-public class WSI1009 extends BP1009
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1009(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java
deleted file mode 100644
index 022d98692..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1010.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1010
- */
-public class WSI1010 extends BP1010
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1010(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java
deleted file mode 100644
index cadcdcb4a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1011.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1011;
-
-/**
- * WSI1011
- */
-public class WSI1011 extends BP1011
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1011(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java
deleted file mode 100644
index 57f571be1..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1012.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1012;
-
-/**
- * WSI1012
- */
-public class WSI1012 extends BP1012
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1012(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java
deleted file mode 100644
index 587e597bf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1013.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1013;
-
-/**
- * WSI1013
- */
-public class WSI1013 extends BP1013
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1013(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java
deleted file mode 100644
index dcd391783..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1031.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1031;
-
-/**
- * WSI1031
- */
-public class WSI1031 extends BP1031
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1031(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java
deleted file mode 100644
index 4c20a04cd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1100.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1100;
-
-/**
- * WSI1100
- */
-public class WSI1100 extends BP1100
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1100(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java
deleted file mode 100644
index cbb113c82..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1101.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1101
- */
-public class WSI1101 extends BP1101
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1101(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java
deleted file mode 100644
index f13832dca..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1102.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.io.StringReader;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPConstants;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.HttpHeadersValidator;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-
-/**
- * BPWSI4.
- * The request message should be invalid (HTTP request malformed,
- * XML not well formed, ...).
- */
-public class WSI1102 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1102(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- String httpHeader = entryContext.getMessageEntry().getHTTPHeaders();
-
- String requestMessage = null;
- //String responseMessage = null;
- String contentType = null;
- result = null;
- //
-
- try
- {
- // check HTTP status code
- String httpStatus =
- Utils.getHTTPStatusCode(
- entryContext.getMessageEntry().getHTTPHeaders());
- if ("400".equals(httpStatus))
- {
-
- requestMessage = entryContext.getRequest().getMessage();
-
- String requestHTTPHeaders =
- entryContext.getRequest().getHTTPHeaders();
-
- //check request HTTP Headers
-
- //HttpHeadersValidator validator = new HttpHeadersValidator();
-
- if (!HttpHeadersValidator
- .validateHttpRequestHeaders(requestHTTPHeaders))
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- //check request xml message
-
- contentType = (String) HTTPUtils.getHttpHeaderTokens(httpHeader, ":")
- .get(HTTPConstants.HEADER_CONTENT_TYPE.toUpperCase());
- if (contentType.indexOf(WSIConstants.CONTENT_TYPE_TEXT_XML) != -1)
- {
- try
- {
- if (requestMessage != null)
- {
- DocumentBuilderFactory factory =
- DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Document doc = builder.parse(new InputSource(new StringReader(requestMessage)));
- builder.parse(
- new InputSource(new StringReader(requestMessage)));
- }
-
- }
- catch (SAXException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Exception e)
- {
- new WSIException(e.getMessage(), e);
- }
- }
-
- if (result == null)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nRequest message:\nHeaders:\n"
- + entryContext.getRequest().getHTTPHeaders()
- + "Message:\n"
- + entryContext.getRequest().getMessage()
- + "\n\nResponse message:\nHeaders:\n"
- + entryContext.getResponse().getHTTPHeaders()
- + "Message:\n"
- + entryContext.getResponse().getMessage(),
- entryContext);
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- catch (WSIException wsie)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java
deleted file mode 100644
index 624652944..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1103.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1103
- */
-public class WSI1103 extends BP1103
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1103(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java
deleted file mode 100644
index 422e46dda..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1104.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1104.
- * The request message should not contain a content-type of "text/xml".
- */
-public class WSI1104 extends BP1104
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1104(BaseMessageValidator impl)
- {
- super(impl);
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java
deleted file mode 100644
index 4d1a3bc26..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1105.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.SetCookie2Validator;
-
-
-/**
- * BPWSI4.
- * The Cookies should conform to RFC2965.
- */
-public class WSI1105 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1105(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- SetCookie2Validator cookieVal = new SetCookie2Validator();
- String headers = entryContext.getMessageEntry().getHTTPHeaders();
- if (entryContext
- .getMessageEntry()
- .getType()
- .equalsIgnoreCase(MessageEntry.TYPE_RESPONSE))
- {
- // if response trom server
- String setCookie2 =
- (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("Set-Cookie2".toUpperCase());
- if (setCookie2 == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- if (cookieVal.isSetCookie2(setCookie2.trim()))
- result = AssertionResult.RESULT_PASSED;
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\nHeaders:\n"
- + entryContext.getMessageEntry().getHTTPHeaders()
- + "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
- }
- else
- {
- // if request to the server
- String cookie =
- (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("Cookie");
- if (cookie == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- if (cookieVal.isCookie(cookie.trim()))
- result = AssertionResult.RESULT_PASSED;
- else
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\nHeaders:\n"
- + entryContext.getMessageEntry().getHTTPHeaders()
- + "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java
deleted file mode 100644
index f1913e586..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1107.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1107;
-
-/**
- * WSI1107
- */
-public class WSI1107 extends BP1107
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1107(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java
deleted file mode 100644
index a5236e6d7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1108.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.NullUtil;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BPWSI4.
- * Each soapbind extension element with a wsdl:required
- * attribute of false must appear in a message.
- */
-public class WSI1108 extends AssertionProcessVisitor implements WSITag
-{
-
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1108(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private OperationSignature.OperationMatch match = null;
- private EntryContext entryContext = null;
- private OperationSignature responseSig = null;
- private Vector headerRarts = null;
- private boolean visitFault = false;
- private boolean existSOAPHeader = true;
- private boolean isRequest = false;
- private boolean existSOAPHeaderFault = true;
-
- /**
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(SOAPBody, Object, WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
-
- // if "wsdl:required" is true then return
- if (body.getRequired() != null
- && body.getRequired().booleanValue() == true)
- return;
-
- // assert parent instanceof BindingOutput
- BindingOperation bop = ctx.getBindingOperation();
- if (bop.getOperation() == null
- || bop.getOperation().getOutput() == null
- || bop.getOperation().getOutput().getMessage() == null)
- return;
- Message msg = bop.getOperation().getOutput().getMessage();
- List parts =
- WSDLUtil.getParts(
- bop.getOperation(),
- msg,
- body,
- match.getOperationStyle());
-
- QName additionalName = null;
- // if operation is rpc, add to parts qname qith function name
- if (WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- {
- // found out target namespace
- String namespace = body.getNamespaceURI();
- if (namespace == null || namespace.length() == 0)
- // !! ATTENTION
- // namespace should be retrieved from service target nameapce
- namespace = ctx.getBinding().getQName().getNamespaceURI();
-
- // insert operation name as first signature part
- additionalName =
- new QName(
- namespace,
- bop
- .getOperation()
- .getOutput()
- .getMessage()
- .getQName()
- .getLocalPart());
- }
-
- // create the signature of this operation
- OperationSignature op =
- new OperationSignature(
- parts,
- null,
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator),
- false);
- if (additionalName != null)
- op.getSignature().add(0, additionalName);
-
- if (op.getSignature().equals(responseSig.getSignature()))
- {
- // ctx.cancelBindingOperationProcessing();
- }
- else
- {
- // create the signature of this operation
- op =
- new OperationSignature(
- parts,
- null,
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator),
- true);
-
- if (additionalName != null)
- op.getSignature().add(0, additionalName);
- if (op.getSignature().equals(responseSig.getSignature()))
- {
- // ctx.cancelBindingOperationProcessing();
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\n" + entryContext.getMessageEntry().getMessage(),
- entryContext);
- ctx.cancelBindingOperationProcessing();
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeader, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeader header,
- Object parent,
- WSDLTraversalContext ctx)
- {
-
- if (existSOAPHeaderFault == false)
- {
- existSOAPHeader = false;
- ctx.cancelBindingOperationProcessing();
- return;
- }
- // if "wsdl:required" is true then return
- if (header.getRequired() != null
- && header.getRequired().booleanValue() == true)
- return;
- // find headr part
- Definition d = (Definition) ctx.getParameter("definition");
- TypesRegistry tReg = (TypesRegistry) ctx.getParameter("TypesRegistry");
- Part mesPart =
- WSDLUtil.getPart(d.getMessage(header.getMessage()), header.getPart());
-
- // test this part and parts from header
- QName partQName = mesPart.getTypeName();
- if (partQName == null)
- partQName = tReg.getType(mesPart.getElementName());
- if (partQName == null)
- throw new IllegalArgumentException(
- "Part type can not be null." + mesPart.getElementName().toString());
- String local = partQName.getLocalPart();
- String ns = partQName.getNamespaceURI();
-
- existSOAPHeader = false;
- for (int i = 0; i < headerRarts.size(); i++)
- {
- Element elem = (Element) headerRarts.get(i);
- if (elem.getLocalName().equals(local)
- && NullUtil.equals(ns, elem.getNamespaceURI()))
- {
- existSOAPHeader = true;
- break;
- }
- }
- if (existSOAPHeader == true)
- ctx.cancelSOAPHeaderProcessing();
- if (isRequest == true)
- ctx.cancelBindingOperationProcessing();
- if (existSOAPHeader == false && isRequest == false)
- existSOAPHeaderFault = false;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeaderFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault headerFault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- // find headr part
- Definition d = (Definition) ctx.getParameter("definition");
- TypesRegistry tReg = (TypesRegistry) ctx.getParameter("TypesRegistry");
- Part mesPart =
- WSDLUtil.getPart(
- d.getMessage(headerFault.getMessage()),
- headerFault.getPart());
-
- // test this part and parts from headerfault
- QName partQName = mesPart.getTypeName();
- if (partQName == null)
- partQName = tReg.getType(mesPart.getElementName());
- if (partQName == null)
- throw new IllegalArgumentException(
- "Part type can not be null." + mesPart.getElementName().toString());
- String local = partQName.getLocalPart();
- String ns = partQName.getNamespaceURI();
-
- for (int i = 0; i < headerRarts.size(); i++)
- {
- Element elem = (Element) headerRarts.get(i);
- if (elem.getLocalName().equals(local)
- && NullUtil.equals(ns, elem.getNamespaceURI()))
- {
- existSOAPHeaderFault = true;
- break;
- }
- }
- if (existSOAPHeaderFault == true)
- ctx.cancelSOAPHeaderProcessing();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- // set in true if any SOAPFault exist
- visitFault = true;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- if (this.validator.isOneWayResponse(entryContext))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- this.entryContext = entryContext;
- // Parse request message
- Document doc = entryContext.getRequestDocument();
- // create request signature
- match =
- OperationSignature.matchOperation(
- doc,
- null,
- validator.analyzerContext.getCandidateInfo().getBindings()[0],
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator),
- false);
-
- // if such operation exist
- if (match != null)
- {
- isRequest =
- MessageEntry.TYPE_REQUEST.equals(
- entryContext.getMessageEntry().getType());
- // Parse message
- doc = entryContext.getMessageEntryDocument();
-
- if (!isRequest)
- {
- responseSig = new OperationSignature(doc);
- if (WSIConstants
- .ATTRVAL_SOAP_BIND_STYLE_RPC
- .equals(match.getOperationStyle()))
- responseSig.createRPCSignature();
- }
- // extract all headers from message
- Element headerElem =
- XMLUtils.findChildElement(
- doc.getDocumentElement(),
- WSITag.ELEM_SOAP_HEADER);
- headerRarts = new Vector();
- if (headerElem != null)
- headerRarts = XMLUtils.getChildElements(headerElem);
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPHeader(true);
- traversal.visitSOAPHeaderFault(true);
- traversal.visitSOAPFault(true);
-
- traversal.ignoreReferences();
- traversal.ignoreBindingInput2SOAPBody();
-
- if (isRequest)
- traversal.ignoreBindingOutput();
- else
- traversal.ignoreBindingInput2SOAPHeader();
-
- if (responseSig != null && responseSig.isFault())
- traversal.ignoreBindingOutput();
- else
- traversal.ignoreBindingFault();
-
- existSOAPHeaderFault = true;
- Map m = new HashMap();
- WSDLUtil.expandDefinition(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions());
- m.put(
- "definition",
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions());
- TypesRegistry tReg =
- new TypesRegistry(
- validator.analyzerContext
- .getCandidateInfo()
- .getWsdlDocument()
- .getDefinitions(),
- validator);
- m.put("TypesRegistry", tReg);
- traversal.traverse(match.getOperation(), m);
-
- if (isRequest == false)
- if (existSOAPHeaderFault == true)
- existSOAPHeader = true;
-
- if (responseSig != null
- && responseSig.isFault()
- && visitFault == false)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\n" + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- if (existSOAPHeader == false)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nMessage:\n" + entryContext.getMessageEntry().getMessage(),
- entryContext);
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java
deleted file mode 100644
index 8bf44cf63..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1109.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * WSI1109.
- * Any conformance claims MUST be children of the soap:Header element.
- */
-public class WSI1109 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1109(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- if ((entryContext.getMessageEntry() != null)
- && (!this.validator.isOneWayResponse(entryContext)))
- {
- try
- {
- // Parse message
- Document doc = entryContext.getMessageEntryDocument();
- Element root = doc.getDocumentElement();
- // find "Header" element
- NodeList headerList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Header");
- Element headerElem = null;
- if (headerList != null && headerList.getLength() != 0)
- headerElem = (Element) headerList.item(0);
-
- // find "Claim" element
- NodeList claimList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_CLAIM, "Claim");
- if (claimList == null || claimList.getLength() == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- for (int i = 0; i < claimList.getLength(); i++)
- {
- if (headerElem == null
- || claimList.item(i).getParentNode() != headerElem)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- break;
- }
- }
- }
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java
deleted file mode 100644
index 8b3b9e247..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1110.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * WSI1110.
- * Any conformance claims MUST adhere to the WS-I conformance
- * claim schema defined in the Basic Profile.
- */
-public class WSI1110 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1110(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- if (entryContext.getMessageEntry() != null
- && !this.validator.isOneWayResponse(entryContext)
- && (doc = entryContext.getMessageEntryDocument()) != null)
- {
- Element root = doc.getDocumentElement();
- // find "Claim" element
- NodeList claimList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_CLAIM, "Claim");
- if (claimList == null || claimList.getLength() == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- for (int i = 0; i < claimList.getLength(); i++)
- {
- Element elem = (Element) claimList.item(i);
- // check "conformsTo" attribute
- Node node = elem.getAttributeNode("conformsTo");
- if (node == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- break;
- }
- /* This is checked in WSI1111
- // check "mustUnderstand" attribute
- node = elem.getAttributeNodeNS(WSIConstants.NS_URI_SOAP, "mustUnderstand");
- if (node != null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = createFailureDetail("\nSOAP message:\n" + entryContext.getMessageEntry().getMessage(), entryContext);
- break;
- }
- */
- }
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java
deleted file mode 100644
index b84e3fb79..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1111.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-/**
- * WSI1111.
- * Any conformance claims MUST NOT use soap:mustUnderstand='1'.
- */
-public class WSI1111 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1111(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Document doc;
- if (entryContext.getMessageEntry() != null
- && !this.validator.isOneWayResponse(entryContext)
- && (doc = entryContext.getMessageEntryDocument()) != null)
- {
- Element root = doc.getDocumentElement();
- // find "Claim" element
- NodeList claimList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_CLAIM, "Claim");
- if (claimList != null && claimList.getLength() != 0)
- {
- // if contains "Claim" element find all "Header" elements
- NodeList headerList =
- root.getElementsByTagNameNS(WSIConstants.NS_URI_SOAP, "Header");
- if (headerList != null && headerList.getLength() != 0)
- {
- for (int iHeader = 0; iHeader < headerList.getLength(); iHeader++)
- {
- // find all "Header" child elements
- Node child = headerList.item(iHeader).getFirstChild();
- while (child != null)
- {
- if (child.getNodeType() == Node.ELEMENT_NODE)
- {
- // if contains "mustUnderstand" -> fail
- String attrVal =
- ((Element) child).getAttributeNS(
- WSIConstants.NS_URI_SOAP,
- "mustUnderstand");
- if (attrVal != null && !"".equals(attrVal))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "\nSOAP message:\n"
- + entryContext.getMessageEntry().getMessage(),
- entryContext);
- iHeader = headerList.getLength();
- break;
- }
- }
- child = child.getNextSibling();
- }
- }
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java
deleted file mode 100644
index f289dd6c9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1116.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI1116
- */
-public class WSI1116 extends BP1116
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1116(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java
deleted file mode 100644
index 3b3ebae6b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1121.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BPWSI4.
- */
-public class WSI1121 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1121(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- try
- {
- // GT: -- start: base on wsi1011 - should refactor this
-
- Binding[] bindings = validator.analyzerContext.getCandidateInfo().getBindings();
-
- // get soap message child name
- // Get the DOM contents of the message soap:body (if non-empty)
- Document messageDoc = null;
-
- QName messagePartElementQName = null;
- if (!entryContext.getMessageEntry().getMessage().equals(""))
- {
- messageDoc =
- XMLUtils.parseXML(entryContext.getMessageEntry().getMessage());
- // get soap operation name from the soap:body
-
- // NOTE: getSoapBodyChild() may return null, if the soap:body did not contain any child elements
- Element soapMessageElement = this.validator.getSoapBodyChild(messageDoc);
-
- // for doc-lit... find the wsdl:part from one of the specified operations that has
- // the soap element used in the message.
- // we are looking for a part with an element attrib val matching the soap message element
- if (soapMessageElement != null)
- {
- messagePartElementQName =
- new QName(
- soapMessageElement.getNamespaceURI(),
- soapMessageElement.getLocalName());
- }
- }
-
- if ((messageDoc == null) || this.validator.isFault(messageDoc))
- {
- // empty messages and messages containing soap:Faults do not qualify for this TA
- throw new AssertionNotApplicableException();
- }
-
- BindingOperation[] docBindingOperations =
- this.validator.getMatchingBindingOps(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- bindings);
- // list of operations that match the <wsdl:input> or <wsdl:output> (depending on entryType)
- // for part element="..."
- // (ISSUE: what about part type="..."?)
- BindingOperation[] potentialDocLitOps =
- this.validator.getDocLitOperations(
- entryContext.getEntry().getEntryType(),
- messagePartElementQName,
- docBindingOperations);
- // GT: --- end: base on wsi1011
-
- //
- if (potentialDocLitOps.length == 0)
- {
- // not doc-lit so quit
- throw new AssertionNotApplicableException();
- }
-
- // We know there is a doc-lit match, so now try to validate the soap message against the
- // referenced schema
-
- // GT - how to reference the schema document?? need to use the <wsdl:part>, or do it purely
- // from the soap message elements?
- // ie body, envelope or wsdl??
-
- // <experiment>
-
- boolean isSchemaValid;
-
- try {
- isSchemaValid = this.validator.messageIsDocLitSchemaValid(entryContext);
- } catch (Exception e) {
- throw new AssertionFailException();
- }
- // </experiment>
-
-
- //isSchemaValid = true; // for now, getting this far does it
-
- if (isSchemaValid)
- {
- throw new AssertionPassException();
- }
- else
- {
- throw new AssertionFailException();
- }
-
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(e.getMessage(), entryContext);
- }
- catch (AssertionNotApplicableException e)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java
deleted file mode 100644
index 0c6f087ce..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1201.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1201;
-
-/**
- * WSI1201
- */
-public class WSI1201 extends BP1201
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1201(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java
deleted file mode 100644
index 7a31cd6cc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1202.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1202;
-
-/**
- * WSI1202
- */
-public class WSI1202 extends BP1202
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1202(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java
deleted file mode 100644
index 363bcbf52..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1203.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1203;
-
-/**
- * WSI1203
- */
-public class WSI1203 extends BP1203
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1203(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java
deleted file mode 100644
index 16dda543b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1204.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1204;
-
-/**
- * WSI1204
- */
-public class WSI1204 extends BP1204
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1204(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java
deleted file mode 100644
index 7b9496314..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1208.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1208;
-
-/**
- * WSI1208
- */
-public class WSI1208 extends BP1208
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1208(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java
deleted file mode 100644
index 63f57c5fd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1211.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1211;
-
-/**
- * WSI1211
- */
-public class WSI1211 extends BP1211
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1211(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java
deleted file mode 100644
index 9f0eb82b0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1301.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1301;
-
-/**
- * WSI1301
- */
-public class WSI1301 extends BP1301
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1301(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java
deleted file mode 100644
index 6e976fe35..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1302.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1302;
-
-/**
- * WSI1302
- */
-public class WSI1302 extends BP1302
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1302(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java
deleted file mode 100644
index bb2e13acb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1305.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1305;
-
-/**
- * WSI1305
- */
-public class WSI1305 extends BP1305
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1305(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java
deleted file mode 100644
index b610628b7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1306.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1306;
-
-/**
- * WSI1306
- */
-public class WSI1306 extends BP1306
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1306(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java
deleted file mode 100644
index 8c705a85a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1307.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1307;
-
-/**
- * WSI1307
- */
-public class WSI1307 extends BP1307
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1307(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java
deleted file mode 100644
index e2271cf89..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1308.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1308;
-
-/**
- * WSI1308
- */
-public class WSI1308 extends BP1308
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1308(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java
deleted file mode 100644
index ee6435731..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1309.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1309;
-
-/**
- * WSI1309
- */
-public class WSI1309 extends BP1309
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1309(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java
deleted file mode 100644
index ea98faa07..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1311.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionPassException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.HTTPUtils;
-import org.eclipse.wst.wsi.internal.core.util.OperationSignature;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-
-/**
- * BPWSI4.
- * The response (SOAP envelope) should be carried by an HTTP
- * response, over same HTTP connection as the Request.
- */
-public class WSI1311 extends AssertionProcess
-{
- private final BaseMessageValidator validator;
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1311(BaseMessageValidator impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- result = AssertionResult.RESULT_PASSED;
- boolean isOneWayResponse = this.validator.isOneWayResponse(entryContext);
-
- Document docResponse = null;
- if (!isOneWayResponse)
- docResponse = entryContext.getResponseDocument();
-
- //if fault
- if (!isOneWayResponse && this.validator.isFault(docResponse))
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- { // not fault
- // 1. get an operation from request
- // Parse request message
- Document docRequest = entryContext.getRequestDocument();
-
- // get SOAPAction
- String headers = entryContext.getRequest().getHTTPHeaders();
- String action = null;
- if (headers != null)
- action = (String) HTTPUtils.getHttpHeaderTokens(headers, ":").get("SOAPAction".toUpperCase());
- Binding binding = validator.analyzerContext.getCandidateInfo().getBindings()[0];
- TypesRegistry registry =
- new TypesRegistry(
- this.validator.getWSDLDocument().getDefinitions(),
- validator);
- OperationSignature.OperationMatch match =
- OperationSignature.matchOperation(
- docRequest,
- action,
- binding,
- registry);
-
- if (match == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- try
- {
-
- BindingOperation bindingOperation = match.getOperation();
- Operation operation = null;
-
- // Check whether the transport attribute has the value
- // "http://schemas.xmlsoap.org/soap/http".
- List extElem = binding.getExtensibilityElements();
- for (Iterator index = extElem.iterator(); index.hasNext();)
- {
- Object o = (Object) index.next();
- if (o instanceof SOAPBinding)
- {
- SOAPBinding soapBinding = (SOAPBinding) o;
- if (!WSIConstants
- .NS_URI_SOAP_HTTP
- .equals(soapBinding.getTransportURI()))
- {
- throw new AssertionFailException();
- }
-
- }
- }
-
- //find operation in port type
- operation = bindingOperation.getOperation();
- if (operation == null)
- {
- throw new AssertionFailException();
- }
-
- if (isOneWayResponse)
- {
- if (operation.getOutput() == null)
- throw new AssertionPassException();
- else
- throw new AssertionFailException();
- }
-
- // check whether the response message from the log
- // contains the output message
- NodeList soapBodyList =
- docResponse.getElementsByTagNameNS(
- WSIConstants.NS_URI_SOAP,
- XMLUtils.SOAP_ELEM_BODY);
- if ((soapBodyList == null) || (soapBodyList.getLength() == 0))
- {
- // Response does not contain any soap Body elements
- throw new AssertionFailException();
- }
- for (int i = 0; i < soapBodyList.getLength(); i++)
- {
- Element nextBodyElem = (Element) soapBodyList.item(i);
- Element soapMessageElement = XMLUtils.getFirstChild(nextBodyElem);
- while (soapMessageElement != null)
- {
- // check whether the operation output has message from SOAP response
- Message message = operation.getOutput().getMessage();
- QName soapMessageQName =
- new QName(
- soapMessageElement.getNamespaceURI(),
- soapMessageElement.getLocalName());
-
- if (message != null
- && soapMessageQName.equals(message.getQName()))
- {
- throw new AssertionPassException();
- }
-
- soapMessageElement =
- XMLUtils.getNextSibling(soapMessageElement);
- }
- }
-
- }
- catch (AssertionPassException e)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- }
-
- }
- }
-
- if (result == AssertionResult.RESULT_FAILED)
- {
- failureDetail = this.validator.createFailureDetail(null, entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java
deleted file mode 100644
index 3fd3168c8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1316.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1316;
-
-/**
- * WSI1316
- */
-public class WSI1316 extends BP1316
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1316(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java
deleted file mode 100644
index ea3cd9935..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1318.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1318;
-
-/**
- * WSI1318
- */
-public class WSI1318 extends BP1318
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1318(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java
deleted file mode 100644
index f5920f7a6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1601.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1601;
-
-/**
- * WSI1601
- */
-public class WSI1601 extends BP1601
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1601(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java
deleted file mode 100644
index 8a7befb96..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI1701.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP1701;
-
-/**
- * WSI1701
- */
-public class WSI1701 extends BP1701
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI1701(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java
deleted file mode 100644
index 81c1a1071..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4100.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP4100;
-
-/**
- * WSI4100
- */
-public class WSI4100 extends BP4100
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4100(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java
deleted file mode 100644
index 950165aa2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4101.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP4101;
-
-/**
- * WSI4101
- */
-public class WSI4101 extends BP4101
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4101(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java
deleted file mode 100644
index d25ffafbc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4102.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.envelope.BP4102;
-
-/**
- * WSI4102
- */
-public class WSI4102 extends BP4102
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4102(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java
deleted file mode 100644
index 6a61d048c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4103.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4103
- */
-public class WSI4103 extends BP4103
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4103(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java
deleted file mode 100644
index a6176d2b0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4104.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4104
- */
-public class WSI4104 extends BP4104
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4104(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java
deleted file mode 100644
index c6ff8d0ea..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4105.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4105
- */
-public class WSI4105 extends BP4105
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4105(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java
deleted file mode 100644
index 97a44aef8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4106.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4106
- */
-public class WSI4106 extends BP4106
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4106(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java
deleted file mode 100644
index 4ad524265..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/message/WSI4107.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.message;
-
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseMessageValidator;
-
-/**
- * WSI4107
- */
-public class WSI4107 extends BP4107
-{
-
- /**
- * @param BaseMessageValidator
- */
- public WSI4107(BaseMessageValidator impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java
deleted file mode 100644
index b206cd03d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3001.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.uddi4j.datatype.OverviewDoc;
-import org.uddi4j.datatype.tmodel.TModel;
-
-
-/**
- * BP3001 - The tModel element uses WSDL as the description language:
- * the uddi:overviewDoc/uddi:overviewURL element contains a reference
- * to a WSDL definition, which uses a namespace
- * of http://schemas.xmlsoap.org/wsdl/.
- * The uddi:overviewURL may use the fragment notation to resolve
- * to a wsdl:binding.
- */
-public class BP3001 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public BP3001(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * Sets the result variable to AssertionResult.RESULT_FAILED value and
- * places a tModel key in the fault detail message.
- * @param tModelKey
- */
- private void setFaultMessage(String tModelKey)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = "The tModel key is: [" + tModelKey + "].";
- }
-
- /**
- * Validates the test assertion.
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- Binding binding = null;
-
- // Get the tModel from the entryContext
- TModel tModel = (TModel) entryContext.getEntry().getEntryDetail();
-
- // If the tModel does not exist, then fail
- if (tModel == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = "Could not locate a tModel.";
- return validator.createAssertionResult(
- testAssertion,
- result,
- failureDetailMessage);
- }
-
- String key = tModel.getTModelKey();
-
- OverviewDoc doc = tModel.getOverviewDoc();
- if (doc != null)
- {
- String urlText = doc.getOverviewURLString();
-
- // Try to resolve the URL & check the WSDL
- try
- {
- WSDLDocument wsdlDocument = new WSDLDocument(urlText);
- Definition definition = wsdlDocument.getDefinitions();
- Map namespaces = definition.getNamespaces();
- if (!namespaces.containsValue(WSIConstants.NS_URI_WSDL))
- {
- urlText = null;
- }
-
- // Get binding
- binding = validator.getBinding(urlText, wsdlDocument);
-
- // See if the binding is in the WSDL document
- if (binding == null
- || definition.getBinding(binding.getQName()) == null)
- {
- urlText = null;
- }
- }
-
- catch (Exception e)
- {
- urlText = null;
- }
-
- if (urlText != null)
- {
- String fragmentID = null;
- int index = urlText.indexOf("#");
- if (index > -1)
- {
- fragmentID = urlText.substring(index + 1);
- }
-
- if ((fragmentID != null)
- && (fragmentID.length() != 0)
- && (fragmentID.toUpperCase().indexOf("xpointer(".toUpperCase()) == -1
- || fragmentID.lastIndexOf(")") != fragmentID.length() - 1))
- {
- setFaultMessage(key);
- }
- }
-
- else
- {
- setFaultMessage(key);
- }
- }
-
- else
- {
- setFaultMessage(key);
- }
-
- if (result == AssertionResult.RESULT_PASSED)
- {
- // Set the binding that will be used
- validator.setWSDLBinding(binding);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java
deleted file mode 100644
index 572cde4cd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3002.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.uddi4j.datatype.binding.BindingTemplate;
-
-
-/**
- * BP3002 - The uddi:bindingTemplate element contains a uddi:accessPoint element,
- * with a non-empty value.
- */
-public class BP3002 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public BP3002(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * Validates the test assertion.
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- String serviceLocation = null;
-
- result = AssertionResult.RESULT_PASSED;
-
- // Get the bindingTemplate from the entryContext
- BindingTemplate bindingTemplate =
- (BindingTemplate) entryContext.getEntry().getEntryDetail();
-
- // If the bindingTemplate does not contain an accessPoint, then fail
- if ((bindingTemplate.getAccessPoint() == null)
- || ((serviceLocation = bindingTemplate.getAccessPoint().getText())
- == null))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The bindingTempate key is: ["
- + bindingTemplate.getBindingKey()
- + "].";
- }
-
- // Else save the service location in the assertion result
- else
- {
- // Save service location in analyzer context
- entryContext
- .getAnalyzerContext()
- .getServiceReference()
- .setServiceLocation(
- serviceLocation);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java
deleted file mode 100644
index c0e04f04b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/BP3003.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.uddi4j.datatype.tmodel.TModel;
-
-
-/**
- * BP3003 - The uddi:tModel is categorized using the uddi:types taxonomy,
- * as "wsdlSpec": the uddi:keyedReference element has an attribute keyValue
- * equal to "wsdlSpec", and keyName equal to "uddi-org:types" or "types".
- */
-public class BP3003 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public BP3003(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * Validates the test assertion.
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Get the tModel from the entryContext
- TModel tModel = (TModel) entryContext.getEntry().getEntryDetail();
-
- // If the tModel does not exist, then fail
- if (tModel == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "Could not locate a tModel with a categorization of 'wsdlSpec'.";
- }
-
- // If there is a tModel and it is not categorized as "wsdlSpec", then fail
- else if (!(validator.isWsdlSpec(tModel)))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The tModel key is: ["
- + tModel.getTModelKey()
- + "]\n"
- + "The categoryBag is: ["
- + this.validator.categoryBagToString(tModel.getCategoryBag())
- + "]";
- }
-
- // Else get the WSDL document location and set it and the binding element in analyzer context
- else
- {
- // set WSDL location in analyzer context
- validator.setWSDLLocation(validator.getWSDLLocation(validator.getOverviewURL(tModel)));
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java
deleted file mode 100644
index 0ffdce883..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/UDDIValidatorImpl.java
+++ /dev/null
@@ -1,590 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.UnknownHostException;
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.WSDLException;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.UDDIValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.binding.BindingTemplate;
-import org.uddi4j.datatype.binding.TModelInstanceInfo;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.response.BindingDetail;
-import org.uddi4j.response.TModelDetail;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-import com.ibm.wsdl.util.StringUtils;
-
-/**
- * The UDDI validator will verify that a web service description was published correctly in a UDDI registry.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class UDDIValidatorImpl
- extends BaseValidatorImpl
- implements UDDIValidator
-{
- /**
- * UDDI reference.
- */
- protected UDDIReference uddiReference;
- /**
- * UDDI proxy.
- */
- protected UDDIProxy uddiProxy;
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.UDDIValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, org.wsi.test.analyzer.config.UDDIReference, org.wsi.test.report.Reporter)
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact profileArtifact,
- ReportArtifact reportArtifact,
- UDDIReference uddiReference,
- Reporter reporter)
- throws WSIException
- {
- // BaseValidatorImpl
- super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
-
- // Save input references
- this.uddiReference = uddiReference;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.UDDIValidator#validate()
- */
- public String validate() throws WSIException
- {
- String wsdlURL = null;
- Entry entry = null;
-
- BindingTemplate bindingTemplate = null;
- TModel tModel = null;
-
- // it depricated after refactoring
- // now the inner classes moved out from validator
- //String classPrefix = this.getClass().getName() + "$";
- String classPrefix = this.getClass().getPackage().getName()+".";
-
- try
- {
- // Set up a reference to the UDDI registry
- uddiProxy = new UDDIProxy();
-
- //new Socket(new InetAddress(uddiReference.getInquiryURL()));
- uddiProxy.setInquiryURL(uddiReference.getInquiryURL());
- boolean wasEx = false;
- InputStream stream;
- try
- {
- URL url = StringUtils.getURL(null, uddiReference.getInquiryURL());
- stream = url.openStream();
- stream.close();
- }
-
- catch (UnknownHostException ex)
- {
- wasEx = true;
- }
-
- catch (IOException ex)
- {
- }
-
- if (!wasEx)
- {
-
- // If the UDDI reference is to a bindingTemplate then get it
- if (uddiReference.getKeyType().equals(UDDIReference.BINDING_KEY))
- {
- // Get binding detail which will contain the bindingTemplate
- BindingDetail bindingDetail =
- uddiProxy.get_bindingDetail(uddiReference.getKey());
-
- // Get bindingTemplate
- bindingTemplate =
- (BindingTemplate) bindingDetail
- .getBindingTemplateVector()
- .elementAt(
- 0);
-
- if (verboseOption)
- {
- System.err.println(
- " BindingTemplate - "
- + UDDIUtils.bindingTemplateToString(bindingTemplate));
- }
-
- // Get the wsdlSpec tModel
- tModel = findTModel(uddiProxy, bindingTemplate);
- }
-
- // Else it has to be a tModel
- else
- {
- TModelDetail tModelDetail =
- uddiProxy.get_tModelDetail(uddiReference.getKey());
- tModel = (TModel) tModelDetail.getTModelVector().elementAt(0);
- }
-
- if (verboseOption)
- {
- System.err.println(
- " TModel specified or found in bindingTemplate - "
- + UDDIUtils.tModelToString(tModel));
- }
- }
-
- if (bindingTemplate == null)
- {
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DISCOVERY_BINDINGTEMPLATE));
- }
-
- // If there is a bindingTemplate, then process test assertions for it
- else
- {
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DISCOVERY_BINDINGTEMPLATE));
- entry.setReferenceID(bindingTemplate.getBindingKey());
- entry.setEntryDetail(bindingTemplate);
-
- // Process test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, this.analyzerContext));
- }
-
- // NOTE: From this point forward, if a bindingTemplate does NOT have a wsdlSpec tModel,
- // the tModel will be NULL.
-
- //Parse WSDL document, and get WSDL document url, binding name and namespace
- try
- {
- String overviewURL = getOverviewURL(tModel);
- wsdlURL = getWSDLLocation(overviewURL);
- WSDLDocument wsdlDocument = getWSDLDocument(wsdlURL);
-
- // ADD: The WSDL binding is used in WSI3001 and should be moved to the entryContext
- getBinding(overviewURL, wsdlDocument);
- }
-
- catch (Exception e)
- {
- // ADD:
- if (verboseOption)
- {
- System.err.println(" EXCEPTION: " + e.toString());
- }
- }
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DISCOVERY_TMODEL));
- entry.setReferenceID(
- (tModel == null ? "[tModel]" : tModel.getTModelKey()));
- entry.setEntryDetail(tModel);
-
- // Process test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, this.analyzerContext));
- }
-
- catch (Exception e)
- {
- // Throw WSIException
- if (e instanceof WSIException)
- throw (WSIException) e;
- else
- throw new WSIException(
- "An exception occurred while processing the discovery test assertions.",
- e);
- }
-
- // Cleanup
- cleanup();
-
- // Get WSDL location
- wsdlURL = this.analyzerContext.getServiceReference().getWSDLLocation();
-
- // Return WSDL URL
- return wsdlURL;
- }
-
- /**
- * Set WSDL binding in the service reference portion of the analyzer context.
- */
- protected void setWSDLBinding(Binding binding)
- {
- String bindingName =
- binding == null ? null : binding.getQName().getLocalPart();
- String namespace =
- binding == null ? null : binding.getQName().getNamespaceURI();
-
- // Set the WSDL document location in analyzerContext
- ServiceReference serviceReference =
- this.analyzerContext.getServiceReference();
-
- // If the wsdlElement does not exist, then set it
- WSDLElement wsdlElement;
- if ((wsdlElement = serviceReference.getWSDLElement()) == null)
- {
- // Get the WSDL binding from the overviewURL and set in analyzerContext
- wsdlElement = new WSDLElementImpl();
- wsdlElement.setName(bindingName);
- wsdlElement.setNamespace(namespace);
- wsdlElement.setType(EntryType.TYPE_DESCRIPTION_BINDING);
- }
-
- // Set the wsdlElement in the service reference
- serviceReference.setWSDLElement(wsdlElement);
-
- // Set the service reference back into the analyzerContext
- analyzerContext.setServiceReference(serviceReference);
- }
-
- /**
- * Set the WSDL location in the service reference portion of the analyzer context.
- */
- protected void setWSDLLocation(String wsdlURL)
- {
- // Set the WSDL document location in analyzerContext
- ServiceReference serviceReference =
- this.analyzerContext.getServiceReference();
- serviceReference.setWSDLLocation(wsdlURL);
-
- // Set the service reference back into the analyzerContext
- analyzerContext.setServiceReference(serviceReference);
- }
-
- /**
- * Find the wsdlSpec tModel associated with a binding.
- */
- private TModel findTModel(
- UDDIProxy uddiProxy,
- BindingTemplate bindingTemplate)
- throws WSIException
- {
- TModel tModel = null;
-
- // Get the list of tModel references associated with this bindingTemplate
- Iterator iterator =
- bindingTemplate
- .getTModelInstanceDetails()
- .getTModelInstanceInfoVector()
- .iterator();
-
- // Process each tModel reference
- Vector tModelKeyList = new Vector();
- while (iterator.hasNext())
- {
- // Get tModelInstanceInfo
- TModelInstanceInfo tModelInstanceInfo =
- (TModelInstanceInfo) iterator.next();
-
- // Add key to list
- tModelKeyList.add(tModelInstanceInfo.getTModelKey());
- }
-
- // Get the tModels associated with the bindingTemplate
- if (tModelKeyList.size() > 0)
- {
- try
- {
- // Get the tModel details
- TModelDetail tModelDetail = uddiProxy.get_tModelDetail(tModelKeyList);
-
- // Get the list of tModels
- Iterator tModelIterator = tModelDetail.getTModelVector().iterator();
-
- //boolean tModelFound = false;
- TModel nextTModel = null;
-
- // Go through the list of tModels
- while ((tModelIterator.hasNext()) && (tModel == null))
- {
- // Get next tModel in list
- nextTModel = (TModel) tModelIterator.next();
-
- if (verboseOption)
- {
- System.err.println(
- " TModel referenced from bindingTemplate - "
- + UDDIUtils.tModelToString(nextTModel));
- }
-
- // If this is a wsdlSpec tModel, then this is the tModel we want
- if (isWsdlSpec(nextTModel))
- tModel = nextTModel;
- }
- }
-
- catch (Exception e)
- {
- // Throw WSIException
- throw new WSIException("Could not get tModel details.", e);
- }
- }
-
- else
- {
- // Throw exception
- //throw new WSIException("UDDI bindingTemplate did not contain any tModel references.");
- }
-
- return tModel;
- }
-
- /**
- * Determine if this is a wsdlSpec tModel.
- */
- protected boolean isWsdlSpec(TModel tModel)
- {
- boolean tModelFound = false;
- CategoryBag categoryBag = null;
- Iterator categoryBagIterator = null;
-
- // Determine if the catetgoryBag contains wsdlSpec
- if ((categoryBag = tModel.getCategoryBag()) != null)
- {
- // Get the list of keyed references
- categoryBagIterator = categoryBag.getKeyedReferenceVector().iterator();
-
- KeyedReference keyedReference = null;
-
- // Go through the list of keyed references
- while (categoryBagIterator.hasNext() && !(tModelFound))
- {
- // Get next keyed reference
- keyedReference = (KeyedReference) categoryBagIterator.next();
-
- // If this is a types taxonomy tModel and the value is wsdlSpec, then this is the tModel we want
- // REMOVE: It is not necessary to check the key name
- //if (keyedReference.getTModelKey().equalsIgnoreCase(TModel.TYPES_TMODEL_KEY) &&
- // "wsdlSpec".equals(keyedReference.getKeyValue()) &&
- // ("types".equals(keyedReference.getKeyName()) ||
- // "uddi-org:types".equals(keyedReference.getKeyName()))) {
- // tModelFound = true;
- //}
- if (keyedReference
- .getTModelKey()
- .equalsIgnoreCase(TModel.TYPES_TMODEL_KEY)
- && "wsdlSpec".equals(keyedReference.getKeyValue()))
- {
- tModelFound = true;
- }
- }
- }
-
- return tModelFound;
- }
-
- /**
- * Get an OverviewURL from tModel.
- */
- protected String getOverviewURL(TModel tModel)
- {
- if (tModel != null
- && tModel.getOverviewDoc() != null
- && tModel.getOverviewDoc().getOverviewURL() != null)
- {
- return tModel.getOverviewDoc().getOverviewURL().getText();
- }
- return null;
- }
-
- /**
- * Get WSDL document.
- */
- protected String getWSDLLocation(String wsdlLocation)
- {
- int index;
-
- // Check if the overviewURL contains a fragment identifier
- if ((index = wsdlLocation.indexOf("#")) > -1)
- {
- wsdlLocation = wsdlLocation.substring(0, index);
- }
- return wsdlLocation;
- }
-
- /**
- * Get WSDL document.
- */
- protected WSDLDocument getWSDLDocument(String wsdlLocation)
- throws MalformedURLException, WSDLException
- {
- return new WSDLDocument(getWSDLLocation(wsdlLocation));
- }
-
- /**
- * Get WSDL binding from the overviewURL in the tModel.
- */
- protected Binding getBinding(String overviewURL, WSDLDocument wsdlDocument)
- {
- int index;
- int nameIndex;
-
- Binding[] bindings = wsdlDocument.getBindings();
- if (bindings == null || bindings.length == 0)
- return null;
-
- if (overviewURL != null)
- {
- // Check if the overviewURL contains a fragment identifier
- if ((index = overviewURL.indexOf("#")) > -1)
- {
- // TEMP: Need to use a real XPath evaluator like Xalan
- String nameAttribute = "@name=";
-
- // Locate name reference
- if ((nameIndex =
- overviewURL.substring(index + 1).indexOf(nameAttribute))
- > -1)
- {
- // Get the next character which should be a quote
- int firstQuoteIndex = index + 1 + nameIndex + nameAttribute.length();
- String quote =
- overviewURL.substring(firstQuoteIndex, firstQuoteIndex + 1);
-
- // Get the part of the URL which should contain the binding name
- String urlPart = overviewURL.substring(firstQuoteIndex + 1);
-
- // Find the next quote
- int nextQuoteIndex;
- if ((nextQuoteIndex = urlPart.indexOf(quote)) > -1)
- {
- String bindingName = urlPart.substring(0, nextQuoteIndex);
- //look for binding with the specified name
- for (int i = 0; i < bindings.length; i++)
- {
- if (bindingName.equals(bindings[i].getQName().getLocalPart()))
- return bindings[i];
- }
- }
- }
- }
- }
-
- return bindings[0];
- }
-
- /**
- * Get string representation of categoryBag.
- * @param categoryBag a CategoryBag object.
- * @return string representation of categoryBag.
- */
- protected String categoryBagToString(CategoryBag categoryBag)
- {
- String toString = "";
-
- if (categoryBag != null)
- {
- Vector keyedReferenceList = null;
- if (((keyedReferenceList = categoryBag.getKeyedReferenceVector())
- == null)
- || (keyedReferenceList.size() == 0))
- {
- toString += "No KeyedReferences";
- }
-
- else
- {
- int count = 1;
- KeyedReference keyedReference;
- Iterator iterator = keyedReferenceList.iterator();
- while (iterator.hasNext())
- {
- keyedReference = (KeyedReference) iterator.next();
- toString += "\n ["
- + count++
- + "] tModelKey: "
- + keyedReference.getTModelKey()
- + ", keyName: "
- + keyedReference.getKeyName()
- + ", keyValue: "
- + keyedReference.getKeyValue();
- }
- }
- }
- else
- {
- toString = "null";
- }
-
- return toString;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext targetContext)
- {
- boolean match = false;
-
- // If the test assertion entry type matches the target context entry type, then contine
- if (testAssertion
- .getEntryTypeName()
- .equals(targetContext.getEntry().getEntryType().getTypeName()))
- {
- match = true;
- }
-
- return match;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
- */
- protected boolean isNotApplicable(TestAssertion testAssertion)
- {
- boolean notApplicable = false;
-
- // ADD:
-
- return notApplicable;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java
deleted file mode 100644
index de684b032..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3001.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-/**
- * WSI3001
- */
-public class WSI3001 extends BP3001
-{
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3001(UDDIValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java
deleted file mode 100644
index c08dd2e9c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3002.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-/**
- * WSI3002
- */
-public class WSI3002 extends BP3002
-{
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3002(UDDIValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java
deleted file mode 100644
index deb0176b3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3003.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-/**
- * WSI3003
- */
-public class WSI3003 extends BP3003
-{
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3003(UDDIValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java
deleted file mode 100644
index 065480e3d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3004.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Port;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-import org.w3c.dom.Element;
-
-
-/**
- * WSI3004 - The conformance claims in the uddi:tModel are the same
- * as those in the wsdl:binding which is referenced by the uddi:tModel.
- */
-public class WSI3004 extends AssertionProcessVisitor implements WSITag
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3004(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private static final String PORTS_PARAM = "ports";
- private static final String BINDING_PARAM = "binding";
-
- /**
- * Gets WSI conformance claims from a tModel.
- * @param tModel
- * @return HashSet
- * @throws WSIException
- */
- private HashSet getConformanceClaimsFromUDDI(TModel tModel)
- throws WSIException
- {
- String conformanceKey = UDDIUtils.getWSIConformanceTModelKey(validator.uddiProxy);
-
- HashSet result = new HashSet();
-
- CategoryBag bag = tModel.getCategoryBag();
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size(); i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- if (ref.getTModelKey().equalsIgnoreCase(conformanceKey))
- {
- result.add(ref.getKeyValue());
- }
- }
- }
-
- return result;
- }
-
- /**
- * Gets WSI conformance claims from WSDL binding
- * that references specified tModel. Additionally,
- * WSDL ports, which uses the binding, are processed.
- *
- * @param tModel
- * @return HashSet
- */
- private HashSet getConformanceClaimsFromWSDL(TModel tModel)
- {
- HashSet result = new HashSet();
-
- try
- {
- // Read the WSDL document
- String overviewURL = validator.getOverviewURL(tModel);
- WSDLDocument wsdlDocument = validator.getWSDLDocument(overviewURL);
-
- // Get binding
- Binding binding = validator.getBinding(overviewURL, wsdlDocument);
- String bindingName = binding.getQName().getLocalPart();
-
- // Get claims
- result =
- getClaimsFromElement(binding.getDocumentationElement(), result);
-
- // Get ports, which reference this binding, because:
- // "A claim on a wsdl:port is inherited by the referenced wsdl:bindings."
- Vector ports = getPorts(wsdlDocument, bindingName);
- for (int i = 0; i < ports.size(); i++)
- {
- Port port = (Port) ports.get(i);
-
- result = getClaimsFromElement(port.getDocumentationElement(), result);
- }
- }
- catch (Exception e)
- {
- // ADD:
- }
-
- return result;
- }
-
- /**
- * Gets WSI conformance claims from the 'documentation' XML element
- * and puts them into the HashSet.
- * @param docElement
- * @param result
- * @return HashSet
- */
- private HashSet getClaimsFromElement(Element docElement, HashSet result)
- {
- if (result == null)
- {
- result = new HashSet();
- }
-
- if (docElement != null)
- {
- Element claimElement = XMLUtils.findChildElement(docElement, WSI_CLAIM);
- while (claimElement != null)
- {
- /*
- Node attr = XMLUtils.getAttribute(claimElement, ATTR_CLAIM_CONFORMSTO);
- if (attr != null)
- result.add(attr.getNodeValue());
- */
- String value =
- claimElement.getAttribute(ATTR_CLAIM_CONFORMSTO.getLocalPart());
- if (value != null)
- result.add(value);
-
- claimElement = XMLUtils.findElement(claimElement, WSI_CLAIM);
- }
- }
-
- return result;
- }
-
- /**
- * Gets wsdl:ports, which use specified binding.
- * @param wsdlDocument
- * @param bindingName
- * @return Vector
- */
- private Vector getPorts(WSDLDocument wsdlDocument, String bindingName)
- {
- Vector ports = new Vector();
-
- Map params = new HashMap();
- params.put(PORTS_PARAM, ports);
- params.put(BINDING_PARAM, bindingName);
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitPort(true);
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse(wsdlDocument.getDefinitions(), params);
-
- return ports;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Port, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Port port, Object parent, WSDLTraversalContext ctx)
- {
- if (port
- .getBinding()
- .getQName()
- .getLocalPart()
- .equals(ctx.getParameter(BINDING_PARAM).toString()))
- {
- ((Vector) ctx.getParameter(PORTS_PARAM)).add(port);
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Get the tModel from the entryContext
- TModel tModel = (TModel) entryContext.getEntry().getEntryDetail();
-
- // If the tModel does not exist, then fail
- if (tModel == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = "Could not locate a tModel.";
- }
-
- // If there is a tModel
- else
- {
- try
- {
- HashSet claimsFromUDDI = getConformanceClaimsFromUDDI(tModel);
- HashSet claimsFromWSDL = getConformanceClaimsFromWSDL(tModel);
-
- if (claimsFromUDDI.size() == 0)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else if (claimsFromUDDI.size() == claimsFromWSDL.size())
- {
- int counter = 0;
- for (Iterator iter = claimsFromWSDL.iterator(); iter.hasNext();)
- {
- String claim = (String) iter.next();
-
- for (Iterator iter2 = claimsFromUDDI.iterator();
- iter2.hasNext();
- )
- {
- String uddiClaim = (String) iter2.next();
- if (claim.equalsIgnoreCase(uddiClaim))
- {
- counter++;
- break;
- }
- }
- }
-
- if (counter != claimsFromWSDL.size())
- {
- // failed
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The tModel key is: [" + tModel.getTModelKey() + "].";
- }
- }
- else
- {
- // failed
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The tModel key is: [" + tModel.getTModelKey() + "].";
- }
- }
- catch (IllegalStateException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The tModel key is: [" + tModel.getTModelKey() + "].";
- }
-
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java
deleted file mode 100644
index fc6f5a47b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3005_OBSOLETE.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-
-/**
- * WSI3005_OBSOLETE - A uddi:tModel which claims conformance with a WS-I profile
- * must be categorized using the ws-i-org:conformsTo taxonomy.
- */
-public class WSI3005_OBSOLETE extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3005_OBSOLETE(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * Validates the test assertion.
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- result = AssertionResult.RESULT_PASSED;
-
- // Get the tModel from the entryContext
- TModel tModel = (TModel) entryContext.getEntry().getEntryDetail();
-
- // If the tModel does not exist, then fail
- if (tModel == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = "Could not locate a tModel.";
- }
-
- // If there is a tModel
- else
- {
- CategoryBag bag = tModel.getCategoryBag();
-
- try
- {
- if (!checkCategoryBag(this.validator.uddiProxy, bag))
- {
- // failed
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The tModel key is: [" + tModel.getTModelKey() + "].";
- }
- }
- catch (IllegalStateException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The UDDI registry does not contain WSI conformance taxonomy"
- + " tModel (\"ws-i-org:conformsTo:2002_12\").";
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-
- /**
- * Checks a category bag.
- * @param proxy
- * @param bag
- * @return boolean
- */
- private boolean checkCategoryBag(UDDIProxy proxy, CategoryBag bag)
- {
- String conformanceKey = UDDIUtils.getWSIConformanceTModelKey(proxy);
-
- boolean result = false;
-
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size() && !result; i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- result = ref.getTModelKey().equalsIgnoreCase(conformanceKey);
- }
- }
-
- return result;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java
deleted file mode 100644
index aa8c00318..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3006.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionResultException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-
-/**
- * WSI3006 - The uddi:tModel uses the ws-i-org:conformsTo:2002_12 categorization
- * value of "http://ws-i.org/profiles/base/1.0". The categoryBag in the tModel
- * contains a keyedReference with a tModelKey that contains the key value
- * uuid:65719168-72c6-3f29-8c20-62defb0961c0 for the ws-i-org:conformsTo:2002_12
- * tModel.
- */
-public class WSI3006 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3006(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * Validates the test assertion.
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- result = AssertionResult.RESULT_PASSED;
- failureDetailMessage = null;
- KeyedReference claimKeyedRef = null;
-
- // check whether a UDDI conformance claim is being made...
-
- // Get the tModel from the entryContext
- TModel tModel = (TModel) entryContext.getEntry().getEntryDetail();
- try
- {
- if ((claimKeyedRef = conformanceClaimMade(tModel)) == null)
- {
- throw new AssertionResultException(
- AssertionResult.RESULT_NOT_APPLICABLE);
- }
-
- // we have a conformance claim, so check the keyedReference keyValue
- if (!claimKeyedRef
- .getKeyValue()
- .equals(WSIConstants.ATTRVAL_UDDI_CLAIM_KEYVALUE))
- {
- throw new AssertionResultException(
- AssertionResult.RESULT_FAILED,
- "The tModel key is: ["
- + tModel.getTModelKey()
- + "].\nThe categoryBag is: ["
- + tModel.getCategoryBag()
- + "].");
- }
- }
- catch (AssertionResultException e)
- {
- result = e.getMessage();
- failureDetailMessage = e.getDetailMessage();
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-
- /**
- * Checks a category bag and extracts KeyedReference containing
- * the conformance claim.
- * @param proxy
- * @param bag
- * @return boolean
- */
- private KeyedReference checkCategoryBag(UDDIProxy proxy, CategoryBag bag)
- {
- String conformanceKey = null;
- try
- {
- conformanceKey = UDDIUtils.getWSIConformanceTModelKey(proxy);
- }
- catch (IllegalStateException ex)
- {
- return null;
- }
-
- boolean result = true;
- KeyedReference conformanceRef = null;
-
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size() && result; i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- if (ref
- .getTModelKey()
- .equalsIgnoreCase(conformanceKey) //&& ref.getKeyValue().equals(WSIConstants.ATTRVAL_UDDI_CLAIM_KEYVALUE)
- // we need only tModel key
- )
- {
- result = true;
- conformanceRef = ref;
- }
- }
- }
-
- return conformanceRef;
- }
- /**
- * Gets KeyedReference containing the conformance claim.
- * @param tModel
- * @return
- * @throws WSIException
- */
- private KeyedReference conformanceClaimMade(TModel tModel)
- throws WSIException
- {
-
- // If the tModel does not exist, then fail
- if (tModel == null)
- {
- throw new IllegalArgumentException("tModel cannot be null");
- }
-
- // If there is a tModel
- else
- {
- CategoryBag bag = tModel.getCategoryBag();
- return checkCategoryBag(this.validator.uddiProxy, bag);
- }
-
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java
deleted file mode 100644
index 06674dd9b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3007.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.binding.BindingTemplate;
-import org.uddi4j.datatype.business.BusinessEntity;
-import org.uddi4j.datatype.service.BusinessService;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-
-/**
- * WSI3007 - A uddi:businessEntity or uddi:businessService associated
- * with this uddi:bindingTemplate is not categorized using
- * the ws-i-org:conformsTo:2002_12 taxonomy.
- */
-public class WSI3007 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3007(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * Validates the test assertion.
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Get the bindingTemplate from the entryContext
- BindingTemplate bindingTemplate =
- (BindingTemplate) entryContext.getEntry().getEntryDetail();
-
- boolean validService = false;
- boolean validBusiness = false;
-
- String serviceKey = null;
- String businessKey = null;
- try
- {
- serviceKey = bindingTemplate.getServiceKey();
- BusinessService service =
- UDDIUtils.getBusinessServiceByKey(this.validator.uddiProxy, serviceKey);
-
- businessKey = service.getBusinessKey();
- BusinessEntity business =
- UDDIUtils.getBusinessByKey(this.validator.uddiProxy, businessKey);
-
- validService = checkCategoryBag(this.validator.uddiProxy, service.getCategoryBag());
- validBusiness = checkCategoryBag(this.validator.uddiProxy, business.getCategoryBag());
-
- if (!validBusiness || !validService)
- {
- result = AssertionResult.RESULT_FAILED;
-
- if (!validBusiness)
- {
- failureDetailMessage =
- "The businessEntity key is: [" + businessKey + "].";
- }
-
- if (!validService)
- {
- if (!validBusiness)
- failureDetailMessage += " ";
- else
- failureDetailMessage = "";
-
- failureDetailMessage += "The businessService key is: ["
- + serviceKey
- + "].";
- }
- }
- }
- catch (IllegalStateException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "The UDDI registry does not contain WSI conformance taxonomy"
- + " tModel (\"ws-i-org:conformsTo:2002_12\").";
- }
- catch (Throwable e)
- {
- throw new WSIException(
- "An exception occurred while processing the discovery test assertions.",
- e);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-
- /**
- * Checks whether the category bag contains the conformance claim.
- * Returns <b>true</b> if the bag does not contain the conformance claim.
- * @param proxy
- * @param bag
- * @return boolean
- */
- private boolean checkCategoryBag(UDDIProxy proxy, CategoryBag bag)
- {
- String conformanceKey = null;
- try
- {
- conformanceKey = UDDIUtils.getWSIConformanceTModelKey(proxy);
- }
- catch (IllegalStateException ex)
- {
- return false;
- }
-
- boolean result = true;
-
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size() && result; i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- result = !ref.getTModelKey().equalsIgnoreCase(conformanceKey);
- }
- }
-
- return result;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java
deleted file mode 100644
index 085352d2f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/uddi/WSI3021.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.uddi;
-
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.util.CategoryBag;
-import org.uddi4j.util.KeyedReference;
-
-
-/**
-* WSI3021 - The uddi:tModel has a "name" element of value "ws-i-org:conformsTo:2002_12" ,
-* has an overviewURL value of "http://ws-i.org/schemas/conformanceClaim/", and has
-* a keyedReference element with keyName attribute value of "uddi-org:types:categorization".
-*/
-public class WSI3021 extends AssertionProcess
-{
- private final UDDIValidatorImpl validator;
-
- /**
- * @param UDDIValidatorImpl
- */
- public WSI3021(UDDIValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * Validates the test assertion.
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- TModel tModel =
- UDDIUtils.getTModelByKey(
- this.validator.uddiProxy,
- UDDIUtils.getWSIConformanceTModelKey(this.validator.uddiProxy));
-
- // If the tModel does not exist, then fail
- if (tModel == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = "Could not locate a tModel.";
- }
- else
- {
- boolean validURL =
- tModel.getOverviewDoc() != null
- && "http://ws-i.org/schemas/conformanceClaim/".equals(
- tModel.getOverviewDoc().getOverviewURLString());
- boolean validCategory = checkCategoryBag(tModel.getCategoryBag());
-
- if (validURL && validCategory)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- else
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = this.validator.uddiReference.getInquiryURL();
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
- }
-
- /**
- * Checks whether the category bag meets the WSI's requirements.
- * @param bag
- * @return
- */
- private boolean checkCategoryBag(CategoryBag bag)
- {
- boolean result = false;
-
- if (bag != null)
- {
- Vector references = bag.getKeyedReferenceVector();
- for (int i = 0; i < references.size() && !result; i++)
- {
- KeyedReference ref = (KeyedReference) references.get(i);
-
- result =
- "uddi-org:types:categorization".equals(ref.getKeyName())
- && "categorization".equals(ref.getKeyValue())
- && "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4".equals(
- ref.getTModelKey());
- }
- }
-
- return result;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java
deleted file mode 100644
index 42e561f7f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2901.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2901
- *
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>A description uses either the WSDL MIME Binding as described in WSDL 1.1 Section 5
- * or WSDL SOAP binding as described in WSDL 1.1 Section 3
- * on each of the wsdl:input or wsdl:output elements of a wsdl:binding. </assertionDescription>
- */
-public class AP2901 extends AssertionProcess implements WSITag
-{
- /**
- * WSDLValidator
- */
- private final WSDLValidatorImpl validator;
-
- private Collection mimeElements;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2901(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
-
- mimeElements = new HashSet();
- mimeElements.add(WSDL_MIME_CONTENT);
- mimeElements.add(WSDL_MIME_XML);
- mimeElements.add(WSDL_MIME_MULTIPART);
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- QName inapplicableElement = null;
- // Getting an inapplicable extensibility element of wsdl:input
- // If such element exists, the assertion failed
- if (bindingInput != null)
- {
- // Getting an inapplicable extensibility element of wsdl:input
- // If such element exists, the assertion failed
- inapplicableElement = getInapplicableElement(bindingInput.getExtensibilityElements());
-
- if (inapplicableElement != null)
- throw new AssertionFailException(inapplicableElement.toString());
- }
-
- // Getting an inapplicable extensibility element of wsdl:output
- // If such element exists, the assertion failed
- if (bindingOutput != null)
- {
- inapplicableElement =
- getInapplicableElement(bindingOutput.getExtensibilityElements());
- if (inapplicableElement != null)
- throw new AssertionFailException(inapplicableElement.toString());
- }
- }
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for any extensibility element of wsdl:input or wsdl:output
- * that does not conform to the SOAP binding or the MIME binding.
- * @param extElems a list of extensibility elements
- * @return the QName of an inapplicable element
- */
- private QName getInapplicableElement(List extElems)
- {
- for (int i = 0; i < extElems.size(); i++)
- {
- QName elementName =
- ((ExtensibilityElement) extElems.get(i)).getElementType();
-
- if (!mimeElements.contains(elementName) &&
- !elementName.equals(WSDL_SOAP_BODY) &&
- !elementName.equals(WSDL_SOAP_HEADER))
- {
- return elementName;
- }
- }
-
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java
deleted file mode 100644
index 02bc31357..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2903.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2903
- *
- * <context>For a candidate wsdl:binding with at least one mime:content element</context>
- * <assertionDescription>The part attribute of each mime:content element in a wsdl:binding references
- * a wsdl:part element of a wsdl:message that is present in the respective wsdl:input or wsdl:output of the
- * corresponding wsdl:operation of the corresponding wsdl:portType.</assertionDescription>
- */
-public class AP2903 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2903(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:content element
- boolean mimeContentsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:content elements from wsdl:input and wsdl:output
- List inputMimeContents = getMimeContentElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeContents = getMimeContentElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:content elements
- if (!inputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- Input portTypeInput = bindingOperation.getOperation().getInput();
- // If there is no the corresponding wsdl:input in wsdl:portType,
- // the assertion failed
- if (portTypeInput == null)
- throw new AssertionFailException(
- "There is no the corresponging wsdl:input in the wsdl:portType"
- + " operation for the wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation.");
-
- // If the wsdl:portType input does not reference any wsdl:message,
- // the assertion failed
- if (portTypeInput.getMessage() == null)
- throw new AssertionFailException("The wsdl:input of the \""
- + bindingOperation.getOperation().getName() + "\" wsdl:portType "
- + "operation does not reference any wsdl:message.");
-
- // Getting the part name that is not specified in the wsdl:message
- // the input of wsdl:portType refers to
- String part = getInvalidMimeContentPart(
- inputMimeContents, portTypeInput.getMessage());
-
- // If such part is found, the assertion failed
- if (part != null)
- throw new AssertionFailException("part=\"" + part +
- "\", the input of the binding operation \""
- + bindingOperation.getName() + "\"");
- }
-
- // If the wsdl:output contains mime:content elements
- if (!outputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If there is no the corresponding wsdl:input in wsdl:portType,
- // the assertion failed
- if (portTypeOutput == null)
- throw new AssertionFailException(
- "There is no the corresponging wsdl:output in the wsdl:portType"
- + " operation for the wsdl:output of the \""
- + bindingOperation.getName() + "\" binding operation.");
-
- // If the wsdl:portType output does not reference any wsdl:message,
- // the assertion failed
- if (portTypeOutput.getMessage() == null)
- throw new AssertionFailException("The wsdl:output of the \""
- + bindingOperation.getOperation().getName() + "\" wsdl:portType "
- + "operation does not reference any wsdl:message.");
-
- // Getting the part name that is not specified in the wsdl:message
- // the output of wsdl:portType refers to
- String part = getInvalidMimeContentPart(
- outputMimeContents, portTypeOutput.getMessage());
-
- // If such part is found, the assertion failed
- if (part != null)
- throw new AssertionFailException("part=\"" + part +
- "\", the output of the binding operation \""
- + bindingOperation.getName() + "\"");
- }
- }
-
- // If the binding contains no mime:content elements,
- // the assertion is not applicable
- if (!mimeContentsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects all mime:content elements.
- * @param extElems a list of extensibility elements that can contain mime:contentS.
- * @return the list of mime:content elements found.
- */
- private List getMimeContentElements(List extElems)
- {
- List mimeContentElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- List elems = getMimeContentElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeContentElements.addAll(elems);
- }
- }
- // Else if the element is mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // Adding the element to the list being returned
- mimeContentElements.add(extElem);
- }
- }
- }
-
- return mimeContentElements;
- }
-
- /**
- * Returns part name specified in mime:content element that is not presented in wsdl:message
- * @param mimeContents a list of mime:content elements which part attributes are validated
- * @param message a wsdl:message
- * @return a part name
- */
- private String getInvalidMimeContentPart(List mimeContents, Message message)
- {
- // Going throug all the mime:content elements
- for (int i = 0; i < mimeContents.size(); i++)
- {
- // Getting the part name of a mime:element
- String part = ((MIMEContent) mimeContents.get(i)).getPart();
- // If the wsdl:message does not contain such part, return the part
- if (!message.getParts().keySet().contains(part))
- return part;
- }
- // Return null if no one part is found
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java
deleted file mode 100644
index c5a9716e3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2904.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2904
- * <context>For a candidate wsdl:binding with at least one mime:content element</context>
- * <assertionDescription>The part attribute of each mime:content element in a wsdl:binding
- * does not reference a sub-component of a wsdl:part of the wsdl:message that is present in the
- * respective wsdl:input or wsdl:output of the corresponding wsdl:operation of the corresponding
- * wsdl:portType.</assertionDescription>
- */
-public class AP2904 extends AP2903
-{
- /**
- * @param WSDLValidatorImpl
- */
- public AP2904(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Return assertion result
- return super.validate(testAssertion, entryContext);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java
deleted file mode 100644
index 2c9c7cd72..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2906.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2906
- *
- * <context>For a candidate wsdl:binding containing a mime:multipartRelated element</context>
- * <assertionDescription>A non-root MIME part in a wsdl:binding does not contain a soapbind:header element.</assertionDescription>
- */
-public class AP2906 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2906(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:multipartRelated element
- boolean multipartsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:multipartRelated elements from wsdl:input and wsdl:output
- List inputMultiparts = getMimeMultipartElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMultiparts = getMimeMultipartElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:multipartRelated elements
- if (!inputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is a soap:header in the non-root mime:part,
- // the assertion failed
- if (containsInvalidMimePart(inputMultiparts))
- {
- throw new AssertionFailException("The invalid mime:part element "
- + "is in the wsdl:input of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
- }
-
- // If the wsdl:output contains mime:multipartRelated elements
- if (!outputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is a soap:header in the non-root mime:part,
- // the assertion failed
- if (containsInvalidMimePart(outputMultiparts))
- {
- throw new AssertionFailException("The invalid mime:part element "
- + "is in the wsdl:output of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
- }
- }
- // If the binding contains no one mime:multipartRelated element,
- // the assertion is not applicable
- if (!multipartsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for such non-root mime:part element from a list of mime:multipartRelated elements
- * that contains a soap:header element.
- * @param multiparts a list of mime:multipartRelated elements
- * @return true, if such element is found, false otherwise
- */
- private boolean containsInvalidMimePart(List multiparts)
- {
- // Going through a list of mime:multipartRelated elements
- for (int i = 0; i < multiparts.size(); i++)
- {
- // Getting a list of mime:part elements
- List mimeParts =
- ((MIMEMultipartRelated) multiparts.get(i)).getMIMEParts();
-
- // Looking for non-root mime:partS
- if (mimeParts.size() > 1)
- {
- for (int j = 1; j < mimeParts.size(); j++)
- {
- // Getting a list of extensibility elements of a mime:part
- List extElems =
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements();
- // Going through the extensibility elements
- for (int k = 0; k < extElems.size(); k++)
- {
- // If an extensibility element is a soap:header,
- // return true
- if (((ExtensibilityElement)extElems.get(k))
- .getElementType().equals(WSDL_SOAP_HEADER))
- {
- return true;
- }
- }
- }
- }
- }
- // return false, if the element is not found
- return false;
- }
-
- /**
- * Collects all mime:multipartRelated elements.
- * @param extElems a list of extensibility elements that can contain mime:multipartRelated elements.
- * @return the list of mime:multipartRelated elements found.
- */
- private List getMimeMultipartElements(List extElems)
- {
- List mimeMultipartElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Adding the element to the list being returned
- mimeMultipartElements.add(extElem);
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:multipartRelated elements of this mime:part
- List elems = getMimeMultipartElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeMultipartElements.addAll(elems);
- }
- }
- }
- }
-
- return mimeMultipartElements;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java
deleted file mode 100644
index 494445f6c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2907.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2907
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>Each MIME part in a description is defined using
- * an element with a local name of part in the namespace of the
- * WSDL MIME Binding extension.</assertionDescription>
- */
-public class AP2907 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2907(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java
deleted file mode 100644
index 5208c8af3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2908.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * AP2908
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>The mime:part element in a DESCRIPTION does not have a name attribute.</assertionDescription>
- */
-public class AP2908 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2908(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a wsdl:binding
- Binding wsdlBinding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Since WSDL4J 1.4 ignores any attributes of mime:part, use Xerces 2.6.2 instead
- Document doc = XMLUtils.parseXMLDocument(validator.wsdlURL);
-
- // Finding the wsdl:binding element being processed
- Element binding = getBindingElement(
- doc.getDocumentElement(), wsdlBinding.getQName().getLocalPart());
-
- List ops = getChildElements(binding, WSDL_OPERATION);
-
- // A variable that indicates a binding contains at least one
- // mime:multipartRelated element
- boolean multipartsFound = false;
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- Element bindingOperation = (Element) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- Element bindingInput = getChildElement(bindingOperation, WSDL_INPUT);
- Element bindingOutput = getChildElement(bindingOperation, WSDL_OUTPUT);
-
- // Collecting all the mime:multipartRelated elements from wsdl:input and wsdl:output
- List inputMultiparts = getMimeMultipartElements(bindingInput);
- List outputMultiparts = getMimeMultipartElements(bindingOutput);
-
- // If the wsdl:input contains mime:multipartRelated elements
- if (!inputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is a mime:part element containing a name attribute,
- // the assertion failed
- if (containsInvalidMimePart(inputMultiparts))
- {
- throw new AssertionFailException("The invalid "
- + "mime:part element is in the wsdl:input of the \""
- + bindingOperation.getAttribute(WSIConstants.ATTR_NAME)
- + "\" binding operation.");
- }
- }
-
- // If the wsdl:output contains mime:multipartRelated elements
- if (!outputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is a mime:part element containing a name attribute,
- // the assertion failed
- if (containsInvalidMimePart(outputMultiparts))
- {
- throw new AssertionFailException("The invalid "
- + "mime:part element is in the wsdl:output of the \""
- + bindingOperation.getAttribute(WSIConstants.ATTR_NAME)
- + "\" binding operation.");
- }
- }
- }
- // If the binding contains no one mime:multipartRelated element,
- // the assertion is not applicable
- if (!multipartsFound)
- throw new AssertionNotApplicableException();
- }
- catch (IOException ioe)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Validates mime:part elements for each of mime:multipartRelated element.
- * @param multiparts a list of mime:multipartRelated elements.
- * @return true, if any mime:part contains a name attribute, false otherwise.
- */
- private boolean containsInvalidMimePart(List multiparts) {
- // Going through a list of mime:multipartRelated elements
- for (int i = 0; i < multiparts.size(); i++)
- {
- // Getting a list of mime:part elements
- List mimeParts =
- getChildElements((Element) multiparts.get(i), WSDL_MIME_PART);
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- Element mimePart = (Element) mimeParts.get(j);
- // If the mime:part element contains a name attribute,
- // return true
- if (mimePart.getAttributeNode(WSIConstants.ATTR_NAME) != null)
- {
- return true;
- }
- }
- }
- // No one invalid mime:part element is found, return false
- return false;
- }
-
- /**
- * Collects all mime:multipartRelated elements.
- * @param parent an element which the child elements are gathered from.
- * @return the list of mime:multipartRelated elements found.
- */
- private List getMimeMultipartElements(Element parent)
- {
- List mimeMultipartElements = new ArrayList();
- // If the parent is not null
- if (parent != null)
- {
- // Getting the first parent's child
- Element child = XMLUtils.getFirstChild(parent);
- while (child != null)
- {
- // If the child is a mime:multipartRelated element
- if (child.getNamespaceURI().equals(WSDL_MIME_MULTIPART.getNamespaceURI())
- && child.getLocalName().equals(WSDL_MIME_MULTIPART.getLocalPart()))
- {
- // Adding the element to the list being returned
- mimeMultipartElements.add(child);
-
- // Getting mime:partS from the element
- List mimeParts = getChildElements(child, WSDL_MIME_PART);
- // Going through all the mime:part elements
- for (int i = 0; i < mimeParts.size(); i++)
- {
- // Collecting all the mime:multipartRelated elements of this mime:part
- List elems = getMimeMultipartElements((Element) mimeParts.get(i));
- // Adding the elements to the list being returned
- mimeMultipartElements.addAll(elems);
- }
- }
- // Getting the next child
- child = XMLUtils.getNextSibling(child);
- }
- }
-
- return mimeMultipartElements;
- }
-
- /**
- * Looks for an element's child element.
- * @param parent a parent element.
- * @param childName a qualified element name being found.
- * @return an element or null if it is not found.
- */
- private Element getChildElement(Element parent, QName childName)
- {
- // Getting the first parent's child
- Element child = XMLUtils.getFirstChild(parent);
- while (child != null)
- {
- // If the child has the required qualified name
- if (child.getNamespaceURI().equals(childName.getNamespaceURI())
- && child.getLocalName().equals(childName.getLocalPart()))
- {
- // return the child
- return child;
- }
- // Getting the next child
- child = XMLUtils.getNextSibling(child);
- }
- return null;
- }
-
- /**
- * Collects element's child elements.
- * @param parent a parent element.
- * @param childName a qualified element name being found.
- * @return a list of elements found.
- */
- private List getChildElements(Element parent, QName childName)
- {
- List children = new ArrayList();
- if (parent != null)
- {
- // Getting the first parent's child
- Element child = XMLUtils.getFirstChild(parent);
- while (child != null)
- {
- // If the child has the required qualified name
- if (child.getNamespaceURI().equals(childName.getNamespaceURI())
- && child.getLocalName().equals(childName.getLocalPart()))
- {
- // Adding the child to the list
- children.add(child);
- }
- // Getting the next binding's child
- child = XMLUtils.getNextSibling(child);
- }
- }
- return children;
- }
-
- /**
- * Looks for wsdl:binding element.
- * @param definitions a wsdl:definitions element.
- * @param bindingName a name of wsdl:binding element.
- * @return a wsdl:binding element or null if it is not found.
- */
- private Element getBindingElement(Element definitions, String bindingName)
- {
- // Getting the first definitions' child
- Element child = XMLUtils.getFirstChild(definitions);
- while (child != null)
- {
- // If definitions' child is wsdl:binding element
- // and is the same that is being processed by WSDLValidator
- if (child.getNamespaceURI().equals(WSDL_BINDING.getNamespaceURI())
- && child.getLocalName().equals(WSDL_BINDING.getLocalPart())
- && child.getAttribute(WSIConstants.ATTR_NAME).equals(bindingName))
- {
- // return the wsdl:binding element
- return child;
- }
- // Getting the next definitions' child
- child = XMLUtils.getNextSibling(child);
- }
- // return null, is there is no such wsdl:binding
- return null;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java
deleted file mode 100644
index 86681ba50..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2909.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2909
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>Multiple mime:content child elements of a mime:part element
- * in a desciption reference the same wsdl:part.</assertionDescription>
- */
-public class AP2909 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- // A variable that indicates a binding contains
- // multiple mime:content elements
- private boolean multipleContentFound;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2909(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Resetting the variable
- multipleContentFound = false;
-
- try
- {
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:part elements from wsdl:input and wsdl:output
- List inputMimeParts = getMimeParts(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeParts = getMimeParts(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If there is a mime:part containing multiple mime:contentS
- // which reference different wsdl:partS, the assertion failed
- if (containsInvalidMimePart(inputMimeParts))
- {
- throw new AssertionFailException("The invalid mime:part element "
- + "is in the wsdl:input of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
-
- // If there is a mime:part containing multiple mime:contentS
- // which reference different wsdl:partS, the assertion failed
- if (containsInvalidMimePart(outputMimeParts))
- {
- throw new AssertionFailException("The invalid mime:part element "
- + "is in the wsdl:output of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
-
- }
- // If the binding does not contain a mime:part with multiple
- // mime:content elements, the assertion is not applicable
- if (!multipleContentFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Validates mime:part elements.
- * @param mimeParts a list of mime:part elements.
- * @return true if multiple mime:contentS of a mime:part
- * reference different wsdl:partS, false otherwise.
- */
- private boolean containsInvalidMimePart(List mimeParts)
- {
- // Going through a list of mime:part elements
- for (int i = 0; i < mimeParts.size(); i++)
- {
- // A variable that indicates the mime:part contains
- // at least one mime:content element
- boolean mimeContentFound = false;
- String mimeContentPart = null;
-
- // Going through mime:part extensibility elements
- List extElems = ((MIMEPart) mimeParts.get(i)).getExtensibilityElements();
- for (int j = 0; j < extElems.size(); j++)
- {
- // If an extensibility element is mime:content
- if (((ExtensibilityElement)extElems.get(j))
- .getElementType().equals(WSDL_MIME_CONTENT))
- {
- MIMEContent mimeContent = (MIMEContent) extElems.get(j);
- // If a mime:content element was already found in this mime:part
- if (mimeContentFound)
- {
- multipleContentFound = true;
- // If a mime:content references other wsdl:part than the
- // previous mime:content do, return true
- if (mimeContent.getPart() == null
- || !mimeContent.getPart().equals(mimeContentPart))
- {
- return true;
- }
- }
- // This is the first mime:content element of mime:part
- else
- {
- mimeContentFound = true;
- mimeContentPart = mimeContent.getPart();
- }
- }
- }
- }
- // There are no invalid mime:part elements, return false
- return false;
- }
-
- /**
- * Collects all mime:part elements.
- * @param extElems a list of extensibility elements that can contain mime:part elements.
- * @return the list of mime:part elements found.
- */
- private List getMimeParts(List extElems)
- {
- List mimeParts = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- mimeParts.addAll(mParts);
- // Going through all the mime:part elements
- for (int j = 0; j < mParts.size(); j++)
- {
- List elems = getMimeParts(
- ((MIMEPart) mParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeParts.addAll(elems);
- }
- }
- }
- }
- return mimeParts;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java
deleted file mode 100644
index a42d335d3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2910.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2910
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>A mime:content in a DESCRIPTION references
- * a wsdl:part that is defined using either the type attribute
- * or the element attribute.</assertionDescription>
- */
-public class AP2910 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2910(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:content element
- boolean mimeContentsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:content elements from wsdl:input and wsdl:output
- List inputMimeContents = getMimeContentElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeContents = getMimeContentElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:content elements
- if (!inputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- Input portTypeInput = bindingOperation.getOperation().getInput();
- // If there is no the corresponding wsdl:input in wsdl:portType
- // or the wsdl:input does not specify a message attribute,
- // the assertion failed
- if (portTypeInput == null || portTypeInput.getMessage() == null)
- throw new AssertionFailException(
- "The corresponging operation in the wsdl:portType for the \""
- + bindingOperation.getName() + "\" binding operation is invalid.");
- // Getting a mime:content referencing an invalid wsdl:part
- String part = getInvalidMimeContentPart(
- inputMimeContents, portTypeInput.getMessage());
- // If such part is found, the assertion failed
- if (part != null)
- throw new AssertionFailException("part=\"" + part +
- "\", the input of the binding operation \""
- + bindingOperation.getName() + "\"");
- }
-
- // If the wsdl:output contains mime:content elements
- if (!outputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If there is no the corresponding wsdl:output in wsdl:portType
- // or the wsdl:output does not specify a message attribute,
- // the assertion failed
- if (portTypeOutput == null || portTypeOutput.getMessage() == null)
- throw new AssertionFailException(
- "The corresponging operation in the wsdl:portType for the \""
- + bindingOperation.getName() + "\" binding operation is invalid.");
- // Getting a mime:content referencing an invalid wsdl:part
- String part = getInvalidMimeContentPart(
- outputMimeContents, portTypeOutput.getMessage());
- // If such part is found, the assertion failed
- if (part != null)
- throw new AssertionFailException("part=\"" + part +
- "\", the output of the binding operation \""
- + bindingOperation.getName() + "\"");
- }
- }
-
- // If the binding does not contain mime:content elements,
- // the assertion is not applicable
- if (!mimeContentsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Validates every mime:content element. If it references a wsdl:part that
- * is defined using neither the type attribute nor the element attribute
- * or using them together, it is invalid.
- * @param mimeContents a list of mime:content elements.
- * @param message the corresponding wsdl:message element for mime:contentS.
- * @return a value of the part attribute of an invalid mime:content
- * or null if all the mime:content elements are valid.
- */
- private String getInvalidMimeContentPart(List mimeContents, Message message) {
- // Going throug all the mime:content elements
- for (int i = 0; i < mimeContents.size(); i++)
- {
- // Getting a value of the part attribute from a mime:element
- String partName = ((MIMEContent) mimeContents.get(i)).getPart();
- // Getting the corresponging wsdl:part
- Part part = message.getPart(partName);
- // if it is defined and use neither the type attribute
- // nor the element attribute or use them together, return part value
- if (part != null
- && ((part.getTypeName() == null && part.getElementName() == null)
- || (part.getTypeName() != null && part.getElementName() != null)))
- {
- return partName;
- }
- }
- // Return null if no one part is found
- return null;
- }
-
- /**
- * Collects all mime:content elements.
- * @param extElems a list of extensibility elements that can contain mime:contentS.
- * @return the list of mime:content elements found.
- */
- private List getMimeContentElements(List extElems)
- {
- List mimeContentElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- List elems = getMimeContentElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeContentElements.addAll(elems);
- }
- }
- // Else if the element is mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // Adding the element to the list being returned
- mimeContentElements.add(extElem);
- }
- }
- }
-
- return mimeContentElements;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java
deleted file mode 100644
index 943383bea..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2911.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2911
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>The mime:multipartRelated elements in wsdl:input and wsdl:ouput elements
- * of operations in a wsdl:binding, contain exactly one mime:part child element that contains
- * a soapbind:body child element.</assertionDescription>
- */
-public class AP2911 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2911(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:multipartRelated element
- boolean multipartsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:multipartRelated elements from wsdl:input and wsdl:output
- List inputMultiparts = getMimeMultipartElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMultiparts = getMimeMultipartElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:multipartRelated elements
- if (!inputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is not exactly one mime:part element containing
- // a soapbind:body child, the assertion failed
- if (!containsOneSoapBody(inputMultiparts))
- {
- throw new AssertionFailException("The invalid "
- + "mime:multipartRelated element is in the wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
-
- // If the wsdl:output contains mime:multipartRelated elements
- if (!outputMultiparts.isEmpty())
- {
- multipartsFound = true;
-
- // If there is not exactly one mime:part element containing
- // a soapbind:body child, the assertion failed
- if (!containsOneSoapBody(outputMultiparts))
- {
- throw new AssertionFailException("The invalid "
- + "mime:multipartRelated element is in the wsdl:output of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
-
- }
- // If the binding contains no one mime:multipartRelated element,
- // the assertion is not applicable
- if (!multipartsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for mime:part elements containing a soap:body child
- * for each of mime:multipartRelated element.
- * @param multiparts a list of mime:multipartRelated elements.
- * @return true if there is exactly one mime:part containing a soap:body
- * child, false otherwise.
- */
- private boolean containsOneSoapBody(List multiparts)
- {
- // A variable indicates that a soap:body element is found
- boolean soapBodyFound = false;
-
- // Going through a list of mime:multipartRelated elements
- for (int i = 0; i < multiparts.size(); i++)
- {
- // Getting a list of mime:part elements
- List mimeParts =
- ((MIMEMultipartRelated) multiparts.get(i)).getMIMEParts();
-
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Getting a list of extensibility elements of a mime:part
- List extElems =
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements();
- // Going through the extensibility elements
- for (int k = 0; k < extElems.size(); k++)
- {
- // If an extensibility element is a soap:body
- if (((ExtensibilityElement)extElems.get(k))
- .getElementType().equals(WSDL_SOAP_BODY))
- {
- // If a soap:body element was already found,
- // return true
- if (soapBodyFound)
- {
- return false;
- }
- // else set the variable to the true value
- else
- {
- soapBodyFound = true;
- }
- }
- }
- }
- }
-
- return soapBodyFound;
- }
-
- /**
- * Collects all mime:multipartRelated elements.
- * @param extElems a list of extensibility elements that can contain mime:multipartRelated elements.
- * @return the list of mime:multipartRelated elements found.
- */
- private List getMimeMultipartElements(List extElems)
- {
- List mimeMultipartElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Adding the element to the list being returned
- mimeMultipartElements.add(extElem);
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:multipartRelated elements of this mime:part
- List elems = getMimeMultipartElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeMultipartElements.addAll(elems);
- }
- }
- }
- }
-
- return mimeMultipartElements;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java
deleted file mode 100644
index 01734f8ba..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2930.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.extensions.ExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2930
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>A wsdl:fault element in a description does not have
- * mime:multipartRelated element as its child element.</assertionDescription>
- */
-public class AP2930 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2930(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // wsdl:fault element
- boolean faultsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:fault elements
- Collection faults = bindingOperation.getBindingFaults().values();
- if (!faults.isEmpty())
- {
- faultsFound = true;
- // If there is at least one mime:multipartRelated element,
- // the assertion failed
- if (containsMimeMultiparts(faults))
- throw new AssertionFailException("The binding operation is \""
- + bindingOperation.getName() + "\".");
- }
- }
-
- // If the binding does not contain wsdl:fault elements,
- // the assertion is not applicable
- if (!faultsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Validates wsdl:fault elements.
- * @param faults a collection of wsdl:fault elements.
- * @return true if any wsdl:fault has a mime:multipartRelated child
- * element, false otherwise.
- */
- private boolean containsMimeMultiparts(Collection faults)
- {
- // Going through all the wsdl:faultS
- Iterator i = faults.iterator();
- while (i.hasNext())
- {
- // Getting wsdl:fault's extensibility elements
- List extElems = ((BindingFault) i.next()).getExtensibilityElements();
- for (int j = 0; j < extElems.size(); j++)
- {
- // If there is a mime:multipartRelated element, return true
- if (((ExtensibilityElement)extElems.get(j))
- .getElementType().equals(WSDL_MIME_MULTIPART))
- {
- return true;
- }
- }
- }
- // There are no mime:multipartRelated elements, return false
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java
deleted file mode 100644
index 6392a1d40..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2940.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.xml.namespace.QName;
-
-import org.apache.xerces.impl.dv.XSSimpleType;
-import org.apache.xerces.xs.XSAttributeUse;
-import org.apache.xerces.xs.XSComplexTypeDefinition;
-import org.apache.xerces.xs.XSConstants;
-import org.apache.xerces.xs.XSElementDeclaration;
-import org.apache.xerces.xs.XSModel;
-import org.apache.xerces.xs.XSModelGroup;
-import org.apache.xerces.xs.XSObjectList;
-import org.apache.xerces.xs.XSParticle;
-import org.apache.xerces.xs.XSTerm;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.w3c.dom.Element;
-
-/**
- * AP2940
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>In a description, a wsdl:part defined with the
- * ref:swaRef schema type is bound to a soapbind:body, or a soapbind:header
- * in a MIME binding.</assertionDescription>
- */
-public class AP2940 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2940(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // A variable that indicates wsdl:portType references at least one
- // wsdl:part defined with the ref:swaRef schema type
- boolean swaRefFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- Input portTypeInput = bindingOperation.getOperation().getInput();
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If the corresponding wsdl:input exists in wsdl:portType
- // and includes the message attribute
- if (portTypeInput != null && portTypeInput.getMessage() != null)
- {
- // Collecting all the message's parts defined with ref:swaRef
- List swaRefParts = getSwaRefParts(portTypeInput.getMessage());
- if (!swaRefParts.isEmpty())
- {
- swaRefFound = true;
- // Getting a wsdl:part that is unbound
- String unboundPart = getUnboundPart(swaRefParts,
- portTypeInput.getMessage().getQName(),
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- // If such wsdl:part exists, assertion failed
- if (unboundPart != null)
- throw new AssertionFailException("The part \"" + unboundPart
- + "\" is not bound properly to the wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
-
- // If the corresponding wsdl:output exists in wsdl:portType
- // and includes the message attribute
- if (portTypeOutput != null && portTypeOutput.getMessage() != null)
- {
- // Collecting all the message's parts defined with ref:swaRef
- List swaRefParts = getSwaRefParts(portTypeOutput.getMessage());
- if (!swaRefParts.isEmpty())
- {
- swaRefFound = true;
- // Getting a wsdl:part that is unbound
- String unboundPart = getUnboundPart(swaRefParts,
- portTypeOutput.getMessage().getQName(),
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
- // If such wsdl:part exists, assertion failed
- if (unboundPart != null)
- throw new AssertionFailException("The part \"" + unboundPart
- + "\" is not bound properly to the wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation.");
- }
- }
- }
-
- // If there is no wsdl:partS defined with the ref:swaRef
- // schema type, the assertion is not applicable
- if (!swaRefFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- // The assertion is "recommended", using the "warning" result
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Looks for a wsdl:part that is not bound to either soap:body or soap:header
- * in a MIME binding.
- * @param swaRefParts a list of wsdl:part names that are defined with the
- * ref:swaRef schema type.
- * @param messageName the qualified name of the wsdl:message being validated.
- * @param extElems a list of extensibility elements of either wsdl:input or
- * wsdl:output of the corresponding binding operation.
- * @return a wsdl:part name that is not bound properly, or null.
- */
- private String getUnboundPart(List swaRefParts, QName messageName, List extElems) {
- // Going through wsdl:part names
- for (int i = 0; i < swaRefParts.size(); i++)
- {
- String part = (String) swaRefParts.get(i);
- boolean boundProperly = false;
- if (extElems != null)
- {
- // Going through extensibility elements
- for (int j = 0; j < extElems.size() && !boundProperly; j++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(j);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Getting the first mime:part element where soap:body
- // and soap:header could appear
- if (mimeParts.size() > 0)
- {
- List elems = ((MIMEPart) mimeParts.get(0)).getExtensibilityElements();
- // Going through all the MIME part's extensibility elements
- for (int k = 0; k < elems.size(); k ++)
- {
- ExtensibilityElement elem = (ExtensibilityElement) elems.get(k);
- // If that is a soap:body
- if (elem.getElementType().equals(WSDL_SOAP_BODY))
- {
- List pts = ((SOAPBody) elem).getParts();
- // If the part is bound by this element
- if (pts == null || pts.contains(part))
- {
- boundProperly = true;
- break;
- }
- }
- // else if that is a soap:header
- else if (elem.getElementType().equals(WSDL_SOAP_HEADER))
- {
- if (elem instanceof SOAPHeader)
- {
- SOAPHeader header = (SOAPHeader) elem;
- // If the part is bound by this element
- if (messageName.equals(header.getMessage())
- && header.getPart() != null
- && header.getPart().equals(part))
- {
- boundProperly = true;
- break;
- }
- }
- // WSDL4J 1.4 does not recognize soap:header elements that
- // are enclosed in mime:multipartRelated, so using a workaround
- else
- {
- Element header =
- ((UnknownExtensibilityElement) elem).getElement();
- // If a header references the corresponding message
- // and the part is bound by this element
- if (referencesMessage(header, messageName)
- && header.getAttribute("part").equals(part))
- {
- boundProperly = true;
- break;
- }
- }
- }
- }
- }
- }
- }
- }
- // If this part is unbound properly, return it
- if (!boundProperly)
- return part;
- }
- // All the parts are bound properly, return null
- return null;
- }
-
- /**
- * Validates whether an element contains a message attribute that references
- * a message that have the qualified name specified.
- * @param elem an element to be validated.
- * @param messageName the qualified name of a message.
- * @return true if an element is valid, false otherwise.
- */
- private boolean referencesMessage(Element elem, QName messageName)
- {
- // Getting the element's message attribute
- String message = elem.getAttribute("message");
- // finding the colon delimiter
- int colonPos = message.indexOf(":");
- String ns = null;
- // Getting a local part
- String lp = colonPos > -1 ? message.substring(colonPos + 1) : message;
- // If the delimiter is found
- if (colonPos > -1)
- {
- // Retrieving a namespace URI
- ns = validator.wsdlDocument.getDefinitions()
- .getNamespace(message.substring(0, colonPos));
- }
- // If the local part and the namespace URI are the same as a message have
- if (messageName.getLocalPart().equals(lp)
- && messageName.getNamespaceURI().equals(ns))
- {
- // element is valid, return true
- return true;
- }
- // element is not valid, return false
- return false;
- }
-
- /**
- * Collects all the wsdl:part defined with the ref:swaRef schema type.
- * @param message a message containig wsdl:part elements.
- * @return a list of wsdl:part names.
- */
- private List getSwaRefParts(Message message)
- {
- List swaRefParts = new ArrayList();
-
- // Going through message's parts
- Iterator it = message.getParts().values().iterator();
- while (it.hasNext())
- {
- Part part = (Part) it.next();
- QName ref;
- short type;
- // Getting either part's element reference or type reference
- if ((ref = part.getTypeName()) != null)
- {
- type = XSConstants.TYPE_DEFINITION;
- }
- else if ((ref = part.getElementName()) != null)
- {
- type = XSConstants.ELEMENT_DECLARATION;
- }
- // The part does conatins neither element nor type attribute,
- // proceeding with the next part
- else
- {
- continue;
- }
- // Getting a list of schemas defined
- Map schemas = validator.wsdlDocument.getSchemas();
- // Going through the schemas
- Iterator it2 = schemas.values().iterator();
- while (it2.hasNext())
- {
- XSModel xsModel = (XSModel) it2.next();
- XSTypeDefinition partType = null;
- // Getting the corresponding part type
- if (type == XSConstants.ELEMENT_DECLARATION)
- {
- XSElementDeclaration elem = xsModel.getElementDeclaration(
- ref.getLocalPart(), ref.getNamespaceURI());
- if (elem != null)
- partType = elem.getTypeDefinition();
- }
- else
- {
- partType = xsModel.getTypeDefinition(
- ref.getLocalPart(), ref.getNamespaceURI());
- }
- // If the part type is defined using the ref:swaRef schema type
- if (referencesSwaRef(partType, new ArrayList()))
- {
- // Adding the part's name to the list being returned
- swaRefParts.add(part.getName());
- }
- }
- }
- // Return the list
- return swaRefParts;
- }
-
- /**
- * Check schema type whether it contains ref:swaRef simple schema type
- * or has an attribute of this schema type.
- * @param xsType a schema type definition element
- * @return true, if schema type contains ref:swaRef, false otherwise.
- */
- private boolean referencesSwaRef(XSTypeDefinition xsType, List types)
- {
- if ((xsType != null) && (!types.contains(xsType)))
- {
- types.add(xsType);
- // If this is a complex type
- if (xsType.getTypeCategory() == XSTypeDefinition.COMPLEX_TYPE)
- {
- XSComplexTypeDefinition xsComplexType =
- (XSComplexTypeDefinition) xsType;
- // If it contains mixed context
- // check whether the context contains ref:swaRef
- if (xsComplexType.getParticle() != null
- && referencesSwaRef(xsComplexType.getParticle().getTerm(), types))
- {
- return true;
- }
- // Getting the type's attributes
- XSObjectList attrList = xsComplexType.getAttributeUses();
- for (int i = 0; i < attrList.getLength(); i++)
- {
- XSAttributeUse xsAttrUse = (XSAttributeUse) attrList.item(i);
- // If an attribute is defined using ref:swaRef, return true
- if (referencesSwaRef(
- xsAttrUse.getAttrDeclaration().getTypeDefinition(), types))
- {
- return true;
- }
- }
- }
- // else if this is a simple type
- else if (xsType.getTypeCategory() == XSTypeDefinition.SIMPLE_TYPE)
- {
- XSSimpleType xsSimpleType = (XSSimpleType) xsType;
- // If this type is ref:swaRef, return true
- if (xsSimpleType.getNamespace().equals(WSIConstants.NS_URI_SWA_REF)
- && xsSimpleType.getName().equals(WSIConstants.SCHEMA_TYPE_SWA_REF))
- {
- return true;
- }
- }
- }
- // The schema type does not contain any element defined with the ref:swaRef
- // return false
- return false;
- }
-
- /**
- * Checks a term whether it is defined with ref:swaRef.
- * @param term a term that can be one of a model group or an
- * element declaration.
- * @return true if a term is defined with ref:swaRef, false otherwise.
- */
- private boolean referencesSwaRef(XSTerm term, List types)
- {
- // If a term is an element declaration
- if (term.getType() == XSConstants.ELEMENT_DECLARATION)
- {
- // If element's type is defined with the ref:swaRef, return true
- if (referencesSwaRef(
- ((XSElementDeclaration) term).getTypeDefinition(), types))
- {
- return true;
- }
- }
- // else if a term is a model group
- else if(term.getType() == XSConstants.MODEL_GROUP)
- {
- // Getting a list of Particle schema components
- XSObjectList list = ((XSModelGroup) term).getParticles();
- for (int i = 0; i < list.getLength(); i++)
- {
- // If the term of a particle is defined with the ref:swaRef,
- // return true
- if (referencesSwaRef(((XSParticle) list.item(i)).getTerm(), types))
- {
- return true;
- }
- }
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java
deleted file mode 100644
index bb3a7a3ab..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2941.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-
-/**
- * AP2941
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>A wsdl:binding in a description binds every wsdl:part
- * of a wsdl:message in the wsdl:portType to which it refers to one of
- * soapbind:body, soapbind:header, soapbind:fault , soapbind:headerfault,
- * or mime:content.</assertionDescription>
- */
-public class AP2941 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2941(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
- Input portTypeInput = bindingOperation.getOperation().getInput();
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If the corresponding wsdl:input exists in wsdl:portType
- // and includes the message attribute
- if (portTypeInput != null && portTypeInput.getMessage() != null)
- {
- // Getting the list of all the parts bound by wsdl:input's child elements
- List inputParts = getBindingParts(
- bindingOperation.getBindingInput().getExtensibilityElements(),
- portTypeInput.getMessage());
- // If not true that all the wsdl:partS are bound,
- // the assertion failed
- if (!inputParts
- .containsAll(portTypeInput.getMessage().getParts().keySet()))
- {
- throw new AssertionFailException("The wsdl:input of the \""
- + bindingOperation.getName() + "\" binding operation does not "
- + "bind all the corresponding wsdl:partS.");
- }
- }
-
- // If the corresponding wsdl:output exists in wsdl:portType
- // and includes the message attribute
- if (portTypeOutput != null && portTypeOutput.getMessage() != null)
- {
- // Getting the list of all the parts bound by wsdl:output's child elements
- List outputParts = getBindingParts(
- bindingOperation.getBindingOutput().getExtensibilityElements(),
- portTypeOutput.getMessage());
- // If not true that all the wsdl:partS are bound,
- // the assertion failed
- if (!outputParts
- .containsAll(portTypeOutput.getMessage().getParts().keySet()))
- {
- throw new AssertionFailException("The wsdl:output of the \""
- + bindingOperation.getName() + "\" binding operation does not "
- + "bind all the corresponding wsdl:partS.");
- }
- }
-
- // IF there are wsdl:faultS in the wsdl:portType operation
- if (!bindingOperation.getOperation().getFaults().isEmpty())
- {
- // Collecting all the soap:fault names
- List faultNames = new ArrayList();
- Collection faults = bindingOperation.getBindingFaults().values();
- // Going through all the wsdl:faultS
- Iterator it = faults.iterator();
- while (it.hasNext())
- {
- // Getting wsdl:fault's extensibility elements
- List extElems = ((BindingFault) it.next()).getExtensibilityElements();
- for (int j = 0; j < extElems.size(); j++)
- {
- if (((ExtensibilityElement)extElems.get(j))
- .getElementType().equals(WSDL_SOAP_FAULT))
- {
- faultNames.add(((SOAPFault)extElems.get(j)).getName());
- }
- }
- }
- // If not true that all the wsdl:faultS are bound,
- // the assertion failed
- if (!faultNames.containsAll(
- bindingOperation.getOperation().getFaults().keySet()))
- {
- throw new AssertionFailException("The binding operation \""
- + bindingOperation.getName() + "\" does not "
- + "bind all the corresponding wsdl:faultS.");
- }
- }
- }
- }
- catch (AssertionFailException afe)
- {
- // The assertion is "recommended", using the "warning" result
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects all the parts bound by extensibility elements.
- * @param extElems a lit of extensibility elements.
- * @param message the wsdl:message element corresponging
- * to the extensibility elements.
- * @return a list of wsdl:part names bound.
- */
- private List getBindingParts(List extElems, Message message)
- {
- List parts = new ArrayList();
- if (extElems != null)
- {
- // Going through the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If that is a soap:body
- if (extElem.getElementType().equals(WSDL_SOAP_BODY))
- {
- // Adding all the parts bound to the list
- List pts = ((SOAPBody) extElem).getParts();
- if (pts != null)
- {
- parts.addAll(pts);
- }
- // else the parts attribute is omitted,
- // all parts defined by the message are assumed to be included
- // in the SOAP Body portion.
- else
- {
- parts.addAll(message.getParts().keySet());
- }
- }
- // else if that is a soap:header
- else if (extElem.getElementType().equals(WSDL_SOAP_HEADER))
- {
- List headerFaults = null;
- if (extElem instanceof SOAPHeader)
- {
- SOAPHeader header = (SOAPHeader) extElem;
- // If a header references the corresponding message,
- // adding part name to the list
- if (message.getQName().equals(header.getMessage()))
- parts.add(header.getPart());
-
- headerFaults = header.getSOAPHeaderFaults();
- }
- // WSDL4J 1.4 does not recognize soap:header elements that are enclosed
- // in mime:multipartRelated, so using a workaround
- else
- {
- Element header =
- ((UnknownExtensibilityElement) extElem).getElement();
- // If a header references the corresponding message,
- // adding part name to the list
- if (referencesMessage(header, message.getQName()))
- parts.add(header.getAttribute("part"));
- // Collecting soap:headerfault elements for the header
- headerFaults = getHeaderFaults(header);
- }
- // Going through the soap:headerfaultS
- for (int j = 0; j < headerFaults.size(); j++)
- {
- if (headerFaults.get(j) instanceof SOAPHeaderFault)
- {
- SOAPHeaderFault shf = (SOAPHeaderFault) headerFaults.get(j);
- // If a soap:headerfault references the corresponding
- // message, adding part name to the list
- if (message.equals(shf.getMessage()))
- parts.add(shf.getPart());
- }
- // the same workaround...
- else
- {
- Element shf = (Element) headerFaults.get(j);
- // If a soap:headerfault references the corresponding
- // message, adding part name to the list
- if (referencesMessage(shf, message.getQName()))
- parts.add(shf.getAttribute("part"));
- }
- }
- }
- // else if that is a mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // adding part name to the list
- parts.add(((MIMEContent) extElem).getPart());
- }
- // else if that is a mime:multipartRelated
- else if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the values of part attributes
- // of mime:part's extensibility elements
- parts.addAll(getBindingParts(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements(),
- message));
- }
- }
- }
- }
- return parts;
- }
-
- /**
- * Validates whether an element contains a message attribute that references
- * a message that have the qualified name specified.
- * @param elem an element to be validated.
- * @param messageName the qualified name of a message.
- * @return true if an element is valid, false otherwise.
- */
- private boolean referencesMessage(Element elem, QName messageName)
- {
- // Getting the element's message attribute
- String message = elem.getAttribute("message");
- // finding the colon delimiter
- int colonPos = message.indexOf(":");
- String ns = null;
- // Getting a local part
- String lp = colonPos > -1 ? message.substring(colonPos + 1) : message;
- // If the delimiter is found
- if (colonPos > -1)
- {
- // Retrieving a namespace URI
- ns = validator.wsdlDocument.getDefinitions()
- .getNamespace(message.substring(0, colonPos));
- }
- // If the local part and the namespace URI are the same as a message have
- if (messageName.getLocalPart().equals(lp)
- && messageName.getNamespaceURI().equals(ns))
- {
- // element is valid, return true
- return true;
- }
- // element is not valid, return false
- return false;
- }
-
- /**
- * Collects all the element's child elements of the soap:headerfault type.
- * @param element an element that can have soap:headerfault elements.
- * @return the list of soap:headerfault elements found.
- */
- private List getHeaderFaults(Element element)
- {
- List headerFaults = new ArrayList();
- if (element != null)
- {
- // Getting the first header's child
- Element child = XMLUtils.getFirstChild(element);
- while (child != null)
- {
- // If the child is soap:headerfault
- if (child.getNamespaceURI().equals(WSDL_SOAP_HEADERFAULT.getNamespaceURI())
- && child.getLocalName().equals(WSDL_SOAP_HEADERFAULT.getLocalPart()))
- {
- // Adding the child to the list
- headerFaults.add(child);
- }
- // Getting the next header's child
- child = XMLUtils.getNextSibling(child);
- }
- }
- return headerFaults;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java
deleted file mode 100644
index ca93a7bfd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2944.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2944
- *
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>In a DESCRIPTION, if a wsdl:part element refers to a
- * global element declaration (via the element attribute of the wsdl:part element)
- * then the value of the type attribute of a mime:content element that binds that part
- * is a content type suitable for carrying an XML serialization.</assertionDescription>
- */
-public class AP2944 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- // A variable that indicates a binding contains mime:content elements
- // that bind wsdl:partS defined with the element attribute
- private boolean mimeContentFound;
- /**
- * @param WSDLValidatorImpl
- */
- public AP2944(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Resetting the variable
- mimeContentFound = false;
-
- try
- {
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:content elements from wsdl:input and wsdl:output
- List inputMimeContents = getMimeContentElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeContents = getMimeContentElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:content elements
- if (!inputMimeContents.isEmpty())
- {
- Input portTypeInput = bindingOperation.getOperation().getInput();
- // If the corresponding wsdl:input exists in wsdl:portType
- // and includes the message attribute
- if (portTypeInput != null && portTypeInput.getMessage() != null)
- {
- // If there is an invalid mime:content element
- MIMEContent imc = getInvalidMimeContent(
- inputMimeContents, portTypeInput.getMessage());
- if (imc != null)
- {
- throw new AssertionFailException("The mime:content element in "
- + "the wsdl:input of the \"" + bindingOperation.getName()
- + "\" that binds the \"" + imc.getPart()
- + "\" wsdl:part uses the invalid content type \""
- + imc.getType() + "\". ");
- }
- }
- }
-
- // If the wsdl:output contains mime:content elements
- if (!outputMimeContents.isEmpty())
- {
- Output portTypeOutput = bindingOperation.getOperation().getOutput();
- // If the corresponding wsdl:output exists in wsdl:portType
- // and includes the message attribute
- if (portTypeOutput != null && portTypeOutput.getMessage() != null)
- {
- // If there is an invalid mime:content element
- MIMEContent imc = getInvalidMimeContent(
- outputMimeContents, portTypeOutput.getMessage());
- if (imc != null)
- {
- throw new AssertionFailException("The mime:content element in "
- + "the wsdl:output of the \"" + bindingOperation.getName()
- + "\" that binds the \"" + imc.getPart()
- + "\" wsdl:part uses the invalid content type \""
- + imc.getType() + "\". ");
- }
- }
- }
- }
- // If mime:content elements are not found,
- // the assertion is not applicable
- if (!mimeContentFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checks whether any mime:content element binds wsdl:part that is defined
- * with the element attribute and uses the content type "text/xml".
- * @param mimeContents a list of mime:content elements of binding operation.
- * @param message the corresponding wsdl:message element.
- * @return a mime:content element that uses a content type other than
- * "text/xml", null if no one such element is found.
- */
- private MIMEContent getInvalidMimeContent(List mimeContents, Message message)
- {
- // Going through a list of mime:content elements
- for (int i = 0; i < mimeContents.size(); i++)
- {
- MIMEContent mimeContent = (MIMEContent) mimeContents.get(i);
- // Getting the corresponding wsdl:part
- Part part = message.getPart(mimeContent.getPart());
- // If the part is defined with the element attribute
- if (part != null && part.getElementName() != null)
- {
- mimeContentFound = true;
- // If the type attribute value is other than "text/xml"
- if (!WSIConstants.CONTENT_TYPE_TEXT_XML.equals(mimeContent.getType()))
- {
- // return the invalid element
- return mimeContent;
- }
- }
- }
- return null;
- }
-
- /**
- * Collects all mime:content elements.
- * @param extElems a list of extensibility elements that can contain mime:contentS.
- * @return the list of mime:content elements found.
- */
- private List getMimeContentElements(List extElems)
- {
- List mimeContentElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- List elems = getMimeContentElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeContentElements.addAll(elems);
- }
- }
- // Else if the element is mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // Adding the element to the list being returned
- mimeContentElements.add(extElem);
- }
- }
- }
-
- return mimeContentElements;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java
deleted file mode 100644
index 4555739d3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/AP2946.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEContent;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.mime.MIMEPart;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * AP2946
- *
- * <context>For a candidate wsdl:binding with at least one mime:content element</context>
- * <assertionDescription>In a DESCRIPTION, a mime:content element
- * includes the part attribute.</assertionDescription>
- */
-public class AP2946 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public AP2946(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- try
- {
- // A variable that indicates a binding contains at least one
- // mime:content element
- boolean mimeContentsFound = false;
-
- // Getting a wsdl:binding
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Getting its wsdl:operation elements
- List ops = binding.getBindingOperations();
-
- // Going through the operation elements
- for (int i = 0; i < ops.size(); i++)
- {
- BindingOperation bindingOperation = (BindingOperation) ops.get(i);
-
- // Getting wsdl:input and wsdl:output elements of an operation
- BindingInput bindingInput = bindingOperation.getBindingInput();
- BindingOutput bindingOutput = bindingOperation.getBindingOutput();
-
- // Collecting all the mime:content elements from wsdl:input and wsdl:output
- List inputMimeContents = getMimeContentElements(
- bindingInput == null ? null : bindingInput.getExtensibilityElements());
- List outputMimeContents = getMimeContentElements(
- bindingOutput == null ? null : bindingOutput.getExtensibilityElements());
-
- // If the wsdl:input contains mime:content elements
- if (!inputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- // If there is a mime:content that does not include
- // the part attribute, the assertion failed
- if (hasInvalidMimeContent(inputMimeContents))
- throw new AssertionFailException("The invalid mime:content element"
- + " is in the wsdl:input of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
-
- // If the wsdl:output contains mime:content elements
- if (!outputMimeContents.isEmpty())
- {
- mimeContentsFound = true;
- // If there is a mime:content that does not include
- // the part attribute, the assertion failed
- if (hasInvalidMimeContent(outputMimeContents))
- throw new AssertionFailException("The invalid mime:content element"
- + " is in the wsdl:output of the \"" + bindingOperation.getName()
- + "\" binding operation.");
- }
- }
-
- // If the binding contains no mime:content elements,
- // the assertion is not applicable
- if (!mimeContentsFound)
- throw new AssertionNotApplicableException();
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException afe)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- afe.getMessage(), entryContext);
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Collects all mime:content elements.
- * @param extElems a list of extensibility elements that can contain mime:contentS.
- * @return the list of mime:content elements found.
- */
- private List getMimeContentElements(List extElems)
- {
- List mimeContentElements = new ArrayList();
-
- if (extElems != null)
- {
- // Going through all the extensibility elements
- for (int i = 0; i < extElems.size(); i++)
- {
- ExtensibilityElement extElem = (ExtensibilityElement) extElems.get(i);
- // If the element is mime:multipartRelated
- if (extElem.getElementType().equals(WSDL_MIME_MULTIPART))
- {
- // Getting the mime:part elements of the mime:multipartRelated
- List mimeParts = ((MIMEMultipartRelated) extElem).getMIMEParts();
- // Going through all the mime:part elements
- for (int j = 0; j < mimeParts.size(); j++)
- {
- // Collecting all the mime:content elements of this mime:part
- List elems = getMimeContentElements(
- ((MIMEPart) mimeParts.get(j)).getExtensibilityElements());
- // Adding the elements to the list being returned
- mimeContentElements.addAll(elems);
- }
- }
- // Else if the element is mime:content
- else if (extElem.getElementType().equals(WSDL_MIME_CONTENT))
- {
- // Adding the element to the list being returned
- mimeContentElements.add(extElem);
- }
- }
- }
-
- return mimeContentElements;
- }
-
- /**
- * Validates mime:content elements.
- * @param mimeContents a list of mime:content elements.
- * @return true if any mime:content does not include the part attribute,
- * false otherwise
- */
- private boolean hasInvalidMimeContent(List mimeContents)
- {
- // Going through a list of mime:content elements
- for (int i = 0; i < mimeContents.size(); i++)
- {
- // If a mime:content does not include the part attribute, return true
- if (((MIMEContent) mimeContents.get(i)).getPart() == null)
- return true;
- }
- // There are no invalid mime:contentS, return false
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java
deleted file mode 100644
index e15193eb6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2010.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
-* BP2010.
-* "Name" attributes of Operations are unique across the wsdl:portType definition
-*
-* @version 1.0.1 27.06.2003
-* @author Vitali Fedosenko
-**/
-public class BP2010 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2010(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // Get the portType from the entry context
- PortType portType = (PortType) entryContext.getEntry().getEntryDetail();
-
- // Check the operations names for uniqueness within the candidate Port Type in the WSDL
- Iterator ops;
- HashSet namesSeen = new HashSet();
- HashSet duplicates = new HashSet();
- try
- {
- List opsList = portType.getOperations();
- if (opsList == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- // no operations found in portType
- }
- else
- {
- ops = opsList.iterator(); // will use Candidate.getOperations()
- while (ops.hasNext())
- {
- Operation op = (Operation) ops.next();
- String opName = op.getName();
- if (namesSeen.contains(opName))
- {
- duplicates.add(opName);
- }
- else
- {
- namesSeen.add(opName);
- }
- }
- }
-
- if (!duplicates.isEmpty())
- {
- StringBuffer failInfo =
- new StringBuffer(
- "Duplicate operation names in portType "
- + portType.getQName()
- + ": ");
- Iterator i = duplicates.iterator();
- while (i.hasNext())
- {
- failInfo.append((String) i.next() + "; ");
- }
- throw new AssertionFailException(failInfo.toString());
- }
- }
- catch (NullPointerException e)
- { // ?? no operations found, but does not fail the assertion.
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(e.getMessage(), entryContext, portType);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java
deleted file mode 100644
index 2d5fd1847..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2011.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.StringTokenizer;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2011.
- * The imported XML schema is a well-formed XML 1.0 document and if it contains an
- * XML declaration, it is version 1.0.
- *
- * @version 1.0.1 27.06.2003
- * @author Vitali Fedosenko
-**/
-public class BP2011 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2011(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- private final char[] OMMITED_XML_DECLARATION_DELIMITERS =
- new char[] { 0x20, 0x9, 0xD, 0xA, '\'', '\"' };
- private final char[] XML_DECLARATION_DELIMITERS = new char[] { '=' };
- private final String VERSION_TOKEN = "version";
- private final String VERSION = "1.0";
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- //Definition def = (Definition) entryContext.getEntry().getEntryDetail();
- Types types = (Types) entryContext.getEntry().getEntryDetail();
-
- List exts = null;
- //if (def.getTypes()!=null)
- if (types != null)
- {
- exts = types.getExtensibilityElements();
- }
- if (exts != null)
- {
- Definition definition = null;
- if ((definition =
- validator.analyzerContext.getCandidateInfo().getDefinition(types))
- == null)
- {
- throw new WSIException("Could not find types definition in any WSDL document.");
- }
-
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement)
- searchForSchema(((UnknownExtensibilityElement) el).getElement(),
- definition.getDocumentBaseURI());
- }
- }
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- } /*else
- result = AssertionResult.RESULT_PASSED;*/
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /* Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
- * @param n - UnknownExtencibilityElement
- */
- private void searchForSchema(Node n, String context)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- // if xsd:schema element is found -> process schema
- if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
- processSchema(n, context);
- else
- // if xsd:import element is found -> load schema and process schema
- // FIXED: if xsd:import is found and parent element is xsd:schema
- if (XMLUtils.equals(n, ELEM_XSD_IMPORT)
- && XMLUtils.equals(n.getParentNode(), ELEM_XSD_SCHEMA))
- loadSchema(n, context);
- else
- // else iterate element recursively
- searchForSchema(n.getFirstChild(), context);
- }
- n = n.getNextSibling();
- }
- }
-
- /*
- * It loads xsd schema and then check the version 1.0 and looking for xsd:schema element for next process.
- * @param importNode xsd schema
- */
- private void loadSchema(Node importNode, String context)
- {
- Element im = (Element) importNode;
- Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
- // try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- {
- try
- {
- // if any error or root element is not XSD schema -> error
- String decl =
- readXMLDeclarationStatement(schemaLocation.getValue(), context);
- if (!validVersion(decl))
- {
- Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
- errors.add((a != null) ? a.getValue() : "");
- }
- Document schema =
- validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
- if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- {
- processSchema(schema.getDocumentElement(),
- XMLUtils.createURLString(schemaLocation.getValue(), context));
- }
- result = AssertionResult.RESULT_PASSED;
- }
- catch (Throwable t)
- {
- }
- }
- // else if there is only the namespace attribute, the import relates to inline schema
- else if (XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE) != null)
- {
- result = AssertionResult.RESULT_PASSED;
- }
- }
-
- /**
- * Reads an XML declaration statement.
- * @param location
- * @return String
- */
- private String readXMLDeclarationStatement(String location, String baseURI)
- {
- String result = null;
- try
- {
- new URL(location);
- }
- catch (Throwable t)
- {
- // nothing
- int i = baseURI.lastIndexOf('/');
- int j = baseURI.lastIndexOf('\\');
- if (j > i)
- i = j;
- location = baseURI.substring(0, i + 1) + location;
- }
-
- if (location != null)
- {
- URL url = null;
- Reader reader = null;
-
- try
- {
- try
- {
- url = new URL(location);
- }
- catch (MalformedURLException e)
- {
- // we should try to access location as file
- }
-
- if (url != null)
- {
- reader = new InputStreamReader(url.openStream());
- }
- else
- {
- reader = new InputStreamReader(new FileInputStream(location));
- }
-
- int charCode;
- boolean end = false;
- if (reader.ready())
- {
- charCode = reader.read();
-
- while (reader.ready() && !(charCode == '<'))
- {
- charCode = reader.read();
- }
-
- StringBuffer buf = new StringBuffer();
- if (charCode == '<')
- {
- buf.append((char) charCode);
- while (reader.ready() && !end)
- {
- charCode = reader.read();
- buf.append((char) charCode);
-
- end = charCode == '>';
- }
- }
- else
- {
- // NOTE: This result does not get propogated back!
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "Cannot read the XML declaration statement.";
- }
-
- result = buf.toString();
- }
- }
- catch (Exception e)
- {
- }
- finally
- {
- if (reader != null)
- {
- try
- {
- reader.close();
- }
- catch (Throwable e)
- {
- }
- }
- }
- }
-
- return result;
- }
-
- /*
- * @param xmlDecl - xml declaration
- * @return if xml declaration contains version="1.0" it retirns true.
- */
- private boolean validVersion(String xmlDecl)
- {
- //boolean result = false;
- boolean result = true;
- if (xmlDecl != null)
- {
- StringTokenizer st =
- new StringTokenizer(
- OMMITED_XML_DECLARATION_DELIMITERS,
- XML_DECLARATION_DELIMITERS);
- Enumeration tokens = st.parse(xmlDecl);
- boolean found = false;
- while (tokens.hasMoreElements() && !found)
- {
- String token = (String) tokens.nextElement();
-
- if (token.equalsIgnoreCase(VERSION_TOKEN))
- {
- found = true;
-
- tokens.nextElement();
- String ver = (String) tokens.nextElement();
-
- result = VERSION.equals(ver);
- }
- }
- }
-
- return result;
- }
-
- /*
- * It's loking for xsd import and load it if find.
- * @param schema xsd schema
- */
- private void processSchema(Node schema, String context)
- {
- Node n = schema.getFirstChild();
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType()
- && XMLUtils.equals(n, ELEM_XSD_IMPORT))
- loadSchema(n, context);
-
- n = n.getNextSibling();
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java
deleted file mode 100644
index fa33c1be8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2012.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl.WSDLValidatorImpl.BindingMatch;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2012.
- * Example:
- *
- * <message name="getConfigurationOptionsRequest">
- * <part name="refresh" element="cfg:refresh" />
- * </message>
- * <portType name="ConfiguratorPortType">
- * <operation name="getConfigurationOptions">
- * <input message="tns:getConfigurationOptionsRequest" />
- * <output ..... />
- * <fault ..... />
- * </operation>
- * </portType>
- * <binding name="ConfiguratorBinding" type="tns:ConfiguratorPortType">
- * <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- * <operation name="getConfigurationOptions">
- * <soap:operation soapAction="http://www.zzz.com/zzz.wsdl/getConfigurationOptions" />
- * <input>
- * <soap:body use="literal" namespace="http://www.zzz.com/zzz.wsdl" />
- * </input>
- * <output>.....</output>
- * <fault>......</fault>
- * </operation>
- * </binding>
- *
- * Above, the test for this assertion might be that the element attribute is specified in the "refresh"
- * part of the getConfigurationOptionsRequest message.
- *
- * Context : for <binding> "ConfiguratorBinding", <soap:binding> style=document; <soap:body> use=literal
- * for the <input> of binding operation "getConfigurationOptions".
- * (<input> is an example. Could be <output> or <fault> equally).
- * Action: check the part(s) of the message specified in the <input> element (in example) of the <portType>,
- * namely tns:getConfigurationOptionsRequest, that the element attribute is specified. In this case we have
- * <part name="refresh" element="cfg:refresh" />, so the test passes.
- * All such parts associated with the assertion candidate binding(s) must be similarly checked for this assertion
- * to pass.
- */
-public class BP2012 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2012(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /*
- * Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Get binding from entry context
-
- // Oleg's & Graham's version:
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // to use original version require a binding array
- //Binding[] binding = {(Binding) entryContext.getEntry().getEntryDetail()};
-
- // get list of candidate matches
- BindingMatch[] bindingMatch =
- this.validator.getBindingMatches(
- binding,
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC,
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT);
- if (bindingMatch.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- try
- {
- if (!this.validator.checkPartAttributes(bindingMatch, "useInput", "useElement")
- || !this.validator.checkPartAttributes(bindingMatch, "useOutput", "useElement"))
- {
- // this should never happen
- throw new AssertionFailException("diagnostic: internal processing error!");
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(e.getMessage(), entryContext, binding);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java
deleted file mode 100644
index b93a378db..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2013.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl.WSDLValidatorImpl.BindingMatch;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2013.
- * The binding (in soapbind:body elements) only refers to part elements that have been defined using the "type" attribute.
- *
- * @version 1.0.1 27.06.2003
- * @author Vitali Fedosenko
- */
-public class BP2013 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2013(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Get binding from entry context
-
- // Oleg's & Graham's version:
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // to use original version require a binding array
- //Binding[] binding = {(Binding) entryContext.getEntry().getEntryDetail()};
-
- // get list of candidate matches
- BindingMatch[] bindingMatch =
- this.validator.getBindingMatches(
- binding,
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC,
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT);
- if (bindingMatch.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- try
- {
- if (!this.validator.checkPartAttributes(bindingMatch, "useInput", "useType")
- || !this.validator.checkPartAttributes(bindingMatch, "useOutput", "useType"))
- {
- // this should never happen
- throw new AssertionFailException("diagnostic: internal processing error!");
- }
- }
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(e.getMessage(), entryContext, binding);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java
deleted file mode 100644
index e31088981..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2014.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2014.
- * Context:
- * For a candidate wsdl:operation, if referred to by a candidate rpc-literal wsdl:binding element
- * If the parameterOrder attribute is present, it omits at most 1 part from output wsdl:message.
- **/
-public class BP2014 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2014(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /*
- * @param binding - binding
- * @return It returns style of soap binding of binding. If style omitted returns "document" style.
- */
- private String getSOAPBindingStyle(Binding binding)
- {
- String style = null;
- List list = binding.getExtensibilityElements();
- for (int i = 0; i < list.size(); i++)
- {
- if (list.get(i) instanceof SOAPBinding)
- {
- style = ((SOAPBinding) list.get(i)).getStyle();
- break;
- }
- }
- if (style == null)
- style = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
- return style;
- }
-
- /*
- * @param list - List of extencibility elements from binding output
- * @return first soap body in list.
- */
- private SOAPBody getSOAPBody(List list)
- {
- for (int i = 0; i < list.size(); i++)
- if (list.get(i) instanceof SOAPBody)
- return (SOAPBody) list.get(i);
- return null;
- }
-
- /*
- * @param list - List of extencibility elements of binding operation
- * @return First soap operation in list.
- */
- private SOAPOperation getSOAPOperation(List list)
- {
- for (int i = 0; i < list.size(); i++)
- if (list.get(i) instanceof SOAPOperation)
- return (SOAPOperation) list.get(i);
- return null;
- }
-
- /*
- * @param oper - operation
- * @param binding - binding
- * @return if style of soap binding of binding is rpc and use of soap body of binding output of binding operation is literal then it returns true.
- */
- private boolean checkRpcLiteral(BindingOperation oper, Binding binding)
- {
- List list = oper.getExtensibilityElements();
- SOAPOperation sop = getSOAPOperation(list);
- if (sop == null)
- return false;
- String style =
- (sop.getStyle() == null
- ? getSOAPBindingStyle(binding)
- : sop.getStyle());
- if (!style.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC))
- return false;
- list = oper.getBindingOutput().getExtensibilityElements();
- SOAPBody body = getSOAPBody(list);
- if (body == null)
- return false;
- String use = body.getUse();
- if (use == null)
- return false;
-
- return use.equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT);
- }
-
- /* It checks operation contains more than one part in parameter order
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Operation obj, Object parent, WSDLTraversalContext ctx)
- {
- Binding[] bindings = validator.analyzerContext.getCandidateInfo().getBindings();
- if (obj.getParameterOrdering() == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
-
- if (bindings == null || obj == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
-
- if (obj.getOutput() == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
-
- if (obj.getOutput().getMessage() == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
-
- // For each binding
- for (int i = 0; i < bindings.length; i++)
- {
- List list = bindings[i].getBindingOperations();
- // For each binding operation
- for (int j = 0; j < list.size(); j++)
- {
- BindingOperation oper = (BindingOperation) list.get(j);
-
- // If the input operation name and binding operatino name are not null
- if (obj.getName() != null && oper.getName() != null)
- {
- // If the operation names are equal
- if (obj.getName().equals(oper.getName()))
- {
- // If the operation is RPC literal
- if (checkRpcLiteral(oper, bindings[i]))
- {
- // Get the list of parts in the parameterOrder attribute
- List parts = obj.getParameterOrdering();
-
- Output output = null;
- Message message = null;
- Map messageParts = null;
-
- // Get the list of parts for the output message
- if ((output = obj.getOutput()) != null)
- {
- if ((message = output.getMessage()) != null)
- {
- messageParts = message.getParts();
- }
- }
-
- // If there are parts in the parameterOrder attribute
- // and there are output message parts, then process assertion
- if (parts != null && messageParts != null)
- {
- int partCount = 0;
-
- String partName;
- Iterator iterator = parts.iterator();
- while (iterator.hasNext())
- {
- // Get part name from parameterOrder list
- partName = (String) iterator.next();
-
- // Check each output message part to see if there is a match
- if (messageParts.containsKey(partName))
- partCount++;
- }
-
- if ((partCount == messageParts.size())
- || (partCount == messageParts.size() - 1))
- result = AssertionResult.RESULT_PASSED;
- else
- {
- errors.add(obj.getName());
- ctx.cancelOperationProcessing();
- }
- return;
- }
-
- else
- {
- if (parts == null)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- else
- result = AssertionResult.RESULT_PASSED;
- return;
- }
- }
-
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
- }
- }
-
- else
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return;
- }
- }
- }
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- }
-
- /**
- * Validates the test assertion.
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.ignoreImport();
- traversal.traverse((Operation) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- errors.toString(),
- entryContext,
- entryContext.getEntry().getEntryDetail());
- }
- //else
- // result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java
deleted file mode 100644
index 64f4590dd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2017.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2017.
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>The "style" attribute of each operation in the contained soap:binding has the same value of "document" or "rpc", for all operations of the wsdl:binding.</assertionDescription>
- */
-public class BP2017 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2017(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- //String firstStyle = null; // GT: is this needed??
- Vector failureDetailList = new Vector();
-
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
- if (binding == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return validator.createAssertionResult(testAssertion, result, failureDetailList);
- }
- SOAPBinding soapB = WSDLValidatorImpl.getSoapBinding(binding);
- if (soapB == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- return validator.createAssertionResult(testAssertion, result, failureDetailList);
- }
- String styleB =
- (soapB.getStyle() == null
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : soapB.getStyle());
-
- // Try to get the SOAP operations
- HashMap soapOperationList = validator.getSoapOperations(binding);
-
- if (soapOperationList.isEmpty())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // check that they all have the same style element value
- String style = null;
- String checkStyle;
- SOAPOperation soapOperation;
- Iterator iterator = soapOperationList.keySet().iterator();
- while (iterator.hasNext())
- {
- soapOperation = (SOAPOperation) iterator.next();
- checkStyle = soapOperation.getStyle();
- if (checkStyle == null)
- checkStyle = styleB;
- if (checkStyle != null
- && !checkStyle.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC)
- && !checkStyle.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailList.add(
- this.validator.createFailureDetail(
- "Operation Name: "
- + soapOperationList.get(soapOperation)
- + "\nSOAP Operation: "
- + soapOperation.toString(),
- entryContext,
- soapOperation));
- // REMOVE: Need to process all operations
- //break;
- }
-
- if (style == null)
- {
- style = checkStyle;
- }
- else if (!style.equals(checkStyle) || !style.equals(styleB))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailList.add(
- this.validator.createFailureDetail(
- "Operation Name: "
- + soapOperationList.get(soapOperation)
- + "\nSOAP Operation: "
- + soapOperation.toString(),
- entryContext,
- soapOperation));
- // REMOVE: Need to process all operations
- //break;
- }
- }
-
- if (style == null)
- {
- // no style attribute was found in the SOAP operation(s) of the binding.
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetailList);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java
deleted file mode 100644
index dd467cd89..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2018.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Definition;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * BP2018.
- * <context>For a candidate Web service definition</context>
- * <assertionDescription>The wsdl:types element occurs either as the first child in the WSDL namespace of the wsdl:definitions element if no wsdl:documentation or wsdl:import element is present; or immediately following the wsdl:documentation element(s) if they are present but wsdl:import(s) are not, or immediately following both the wsdl:documentation and wsdl:import elemen(s) if present.</assertionDescription>
- */
-public class BP2018 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2018(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /*
- * @param el - xml element
- * @return if element is extensibility element returns true.
- */
- private boolean isExtensibilityElement(Element el)
- {
- boolean isEx = true;
- isEx = isEx && !XMLUtils.equals(el, WSDL_BINDING);
- isEx = isEx && !XMLUtils.equals(el, WSDL_DEFINITIONS);
- isEx = isEx && !XMLUtils.equals(el, WSDL_DOCUMENTATION);
- isEx = isEx && !XMLUtils.equals(el, WSDL_FAULT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_IMPORT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_INPUT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_MESSAGE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_OPERATION);
- isEx = isEx && !XMLUtils.equals(el, WSDL_OUTPUT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PART);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PORT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PORTTYPE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_SERVICE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_TYPES);
-
- return isEx;
- }
-
- /**
- * Validates the test assertion.
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Get the location of the WSDL document
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
- try
- {
- // Parse the WSDL document as an XML file
- Document doc =
- validator.parseXMLDocumentURL(definition.getDocumentBaseURI(), null);
-
- Element root = doc.getDocumentElement(); // get definition
-
- Element types = XMLUtils.findChildElement((Element) root, WSDL_TYPES);
-
- if (types != null)
- {
- Element el = XMLUtils.findPreviousSibling(types);
- while (el != null)
- {
- if (!isExtensibilityElement(el) &&
- ((!XMLUtils.equals(el, WSDL_IMPORT)) &&
- (!XMLUtils.equals(el, WSDL_DOCUMENTATION))))
- {
- result = AssertionResult.RESULT_FAILED;
- String message = "The " + el.getLocalName() + " element must not precede the types element.";
- failureDetail = this.validator.createFailureDetail(message, entryContext);
- break;
- }
- el = XMLUtils.findPreviousSibling(el);
- }
- }
- }
-
- catch (Throwable t)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetail =
- this.validator.createFailureDetail(
- "An error occurred while processing the document at "
- + definition.getDocumentBaseURI()
- + ".\n\n"
- + Utils.getExceptionDetails(t),
- entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java
deleted file mode 100644
index 5a670bf88..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2019.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-
-/**
- * BP2019.
- * <context>For a candidate wsdl:binding element, if the contained soap:binding element has a "style" attribute equal to "document" and soap:operations have "use" attribute equal to "literal":</context>
- * <assertionDescription>The "namespace" attribute is not specified in any contained soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault elements </assertionDescription>
- * @version 1.0.1 27.06.2003
- * @author Vitali Fedosenko
- */
-public class BP2019 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2019(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- boolean docLitFound = false;
- String errantElements = new String("");
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Try to get the SOAP binding
- SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
-
- if (soapBinding != null)
- {
- String style =
- (soapBinding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : soapBinding.getStyle();
- if (style.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC))
- {
- Vector soapElements = Utils.arrayToVector(this.validator.getSoapBodies(binding));
- soapElements.addAll(Utils.arrayToVector(this.validator.getSoapFaults(binding)));
- soapElements.addAll(Utils.arrayToVector(this.validator.getSoapHeaders(binding)));
- soapElements.addAll(
- Utils.arrayToVector(this.validator.getSoapHeaderFaults(binding)));
-
- Iterator i = soapElements.iterator();
- while (i.hasNext())
- {
- ExtensibilityElement soapElement =
- (ExtensibilityElement) (i.next());
- try
- {
- if (this.validator.isLiteral(soapElement))
- {
- docLitFound = true;
- if (this.validator.namespaceFoundInSoapLiteral(soapElement))
- {
- errantElements += "\n--- " + (soapElement.toString());
- }
- }
- }
- catch (Exception e)
- {
- } // continue with clenched teeth
- }
- }
- }
-
- if (!docLitFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // If a namespace was not found then test assertion passed
- if (errantElements.length() != 0)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "Failing elements:" + errantElements,
- entryContext);
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java
deleted file mode 100644
index 428bf927e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2020.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-
-import org.apache.xerces.util.URI;
-import org.apache.xerces.util.URI.MalformedURIException;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
-* BP2020.
-* <context>For a candidate wsdl:binding element, if the style attribute of the contained soapbind:binding is "rpc"
-* and the use attribute is "literal".</context>
-* <assertionDescription>The namespace attribute is specified on all soapbind:body elements and the value of the
-* namespace attribute is an absolute URI. </assertionDescription>
-* @version 1.0.1 27.06.2003
-* @author Vitali Fedosenko
-**/
-public class BP2020 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2020(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
- boolean rpcLitFound = false;
-
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Try to get the SOAP binding
- SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
-
- // Test the assertion
- // Check style to make sure that it is rpc - the subject of the assertion
- String style = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
- if (soapBinding != null)
- style =
- (soapBinding.getStyle() == null
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : soapBinding.getStyle());
-
- if ((soapBinding != null)
- && (style.equals(WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC)))
- {
- // Get the list of SOAP body elements
- SOAPBody[] soapBodies = this.validator.getSoapBodies(binding);
-
- // Check for Soap operation namespace
- boolean assertionFailure = false;
- String namespaceURI = null;
- for (int i = 0; i < soapBodies.length && !(assertionFailure); i++)
- {
- SOAPBody soapBody = soapBodies[i];
- // Added check for null use value, since the default value is literal
- if (soapBody.getUse() == null
- || soapBody.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- rpcLitFound = true;
- // If there is no namespace, then flag as a failure
- if ((namespaceURI = soapBody.getNamespaceURI()) == null)
- {
- assertionFailure = true;
- failureDetail =
- this.validator.createFailureDetail(
- "--- SOAP BODY:\n"
- + soapBody.toString()
- + "\n--- BINDING QNAME:\n"
- + binding.getQName(),
- entryContext);
- }
-
- // Else, verify that the namespace is an absolute URI
- else
- {
- try
- {
- //URL url = new URL(namespaceURI);
- URI uri = new URI(namespaceURI);
- if (uri.getScheme() == null)
- {
- // no scheme implies not an absolute URI
- assertionFailure = true;
- failureDetail =
- this.validator.createFailureDetail(
- "--- SOAP BODY:\n"
- + soapBody.toString()
- + "\n--- BINDING QNAME:\n"
- + binding.getQName(),
- entryContext);
- }
- }
- catch (MalformedURIException mue)
- {
- assertionFailure = true;
- failureDetail =
- this.validator.createFailureDetail(
- "--- SOAP BODY:\n"
- + soapBody.toString()
- + "\n--- BINDING QNAME:\n"
- + binding.getQName(),
- entryContext);
- }
-
- }
- }
- }
- if (!rpcLitFound)
- {
- // style is rpc but no document use elements
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetail = null;
- }
- else if (!assertionFailure)
- { // If no assertion failure, then set result to passed
- result = AssertionResult.RESULT_PASSED;
- failureDetail = null;
- }
- }
- else
- {
- // style is not rpc
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetail = null;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java
deleted file mode 100644
index 105086ee5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2021.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-
-
-/**
-* BP2021.
-* <context>For a candidate wsdl:binding element</context>
-* <assertionDescription>The wsdl:input element and wsdl:output element of each operation uses the attribute name "part" with a Schema type of "NMTOKEN" and does not use "parts", for both soapbind:header elements and soapbind:headerfault elements. </assertionDescription>
-*
-* @version 1.0.1 27.06.2003
-* @author Vitali Fedosenko
-**/
-public class BP2021 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2021(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- //Operation operation = null;
-
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get SOAP headers for this binding
- SOAPHeader[] soapHeaders = this.validator.getSoapHeaders(binding);
-
- if (soapHeaders.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- // Check each header to see if it has part element with NMTOKEN type
- for (int header = 0;
- header < soapHeaders.length
- && result.equals(AssertionResult.RESULT_PASSED);
- header++)
- {
- if ((soapHeaders[header].getPart() == null)
- || (!XMLUtils.isNmtoken(soapHeaders[header].getPart())))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(soapHeaders[header].toString(), entryContext);
- }
- // Else, check the headerfault if there is one
- else
- {
- List soapHeaderFaultList =
- soapHeaders[header].getSOAPHeaderFaults();
- Iterator iterator = soapHeaderFaultList.iterator();
-
- // Check each header fault to see if it has part element with NMTOKEN type
- while (iterator.hasNext()
- && result.equals(AssertionResult.RESULT_PASSED))
- {
- SOAPHeaderFault soapHeaderFault =
- (SOAPHeaderFault) iterator.next();
- if ((soapHeaderFault.getPart() == null)
- || (!XMLUtils.isNmtoken(soapHeaderFault.getPart())))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(soapHeaderFault.toString(), entryContext);
- }
- }
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java
deleted file mode 100644
index 1145d7f84..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2022.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPFault;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2022.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>the name attribute is specified on the soapbind:fault element.</assertionDescription>
-**/
-public class BP2022 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2022(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get list of SOAP faults for the binding
- SOAPFault[] soapFaults = this.validator.getSoapFaults(binding);
-
- if (soapFaults == null || soapFaults.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- {
- // check all soap:faults.
- // MUST have a name attribute
- for (int i = 0; i < soapFaults.length; i++)
- {
- SOAPFault soapFault = soapFaults[i];
- if (soapFault.getName() == null)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- "soapbind:fault element : " + soapFault.toString(),
- entryContext);
- break;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java
deleted file mode 100644
index 20360aedd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2023.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPFault;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2023.
- * <context>For a candidate wsdl:binding element, with the "use" attribute present on the soapbind:fault element</context>
- * <assertionDescription>The value of the attribute is "literal".</assertionDescription>
- */
-public class BP2023 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2023(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get list of SOAP faults for the binding
- SOAPFault[] soapFaults = this.validator.getSoapFaults(binding);
-
- if (soapFaults == null || soapFaults.length == 0)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- {
- // check all soap:faults.
- // MUST have a name attribute, and if a use attribute is specified, it MUST be value "literal"
- for (int i = 0; i < soapFaults.length; i++)
- {
- SOAPFault soapFault = soapFaults[i];
- if ((soapFault.getUse() != null)
- && (!soapFault
- .getUse()
- .equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT)))
- {
- result = AssertionResult.RESULT_FAILED;
-
- failureDetail =
- this.validator.createFailureDetail(soapFault.toString(), entryContext);
- break;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java
deleted file mode 100644
index afd96dbbb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2032.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.extensions.soap.SOAPFault;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2032.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>the name attribute that is specified on the soapbind:fault element matches the value specified on the parent element wsdl:fault.</assertionDescription>
- */
-public class BP2032 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2032(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get list of Binding faults for the binding
- BindingFault[] bindingFaults = this.validator.getAllBindingFaults(binding);
-
- if (bindingFaults == null || bindingFaults.length == 0)
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- else
- {
- // for each binding fault, compare the child soap:fault name with the binding fault name
-
- for (int i = 0; i < bindingFaults.length; i++)
- {
- BindingFault bindingFault = bindingFaults[i];
- SOAPFault soapFault = this.validator.getSoapFault(bindingFault);
- if (soapFault == null
- || soapFault.getName() == null
- || bindingFault.getName() == null
- || !bindingFault.getName().equals(soapFault.getName()))
- {
- result = AssertionResult.RESULT_FAILED;
-
- failureDetail = this.validator.createFailureDetail(
- soapFault == null ? null : soapFault.toString(), entryContext);
- break;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java
deleted file mode 100644
index c8e61e8d2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2034.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-/**
- * BP2034
- *
- * <context>For a candidate description within a WSDL document</context>
- * <assertionDescription>The candidate description does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".</assertionDescription>
- */
-public class BP2034 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2034(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- // Getting wsdl:definition element
- Definition def = (Definition) entryContext.getEntry().getEntryDetail();
- Types types;
- // Getting the namespace declaration xmlns:xml
- String xmlNs = (String) def.getNamespaces().get("xml");
- // If it exists and equals to "http://www.w3.org/XML/1998/namespace"
- if (xmlNs != null && xmlNs.equals(WSIConstants.NS_URI_XML))
- {
- // setting assertion result to warning
- result = AssertionResult.RESULT_WARNING;
- }
- // there is no namespace declaration xmlns:xml in the wsdl:definition
- // element, checking whether the definition has wsdl:type element
- else if ((types = def.getTypes()) != null)
- {
- // Getting the list of wsdl:schemaS
- List extElems = types.getExtensibilityElements();
- for (int i = 0; i < extElems.size(); i++)
- {
- // Getting wsdl:schema element
- UnknownExtensibilityElement schema =
- (UnknownExtensibilityElement) extElems.get(i);
- // Getting a value of the attribute xmlns:xml
- String attrValue = schema.getElement().getAttributeNS(
- WSIConstants.NS_URI_XMLNS, "xml");
- // If it equals to "http://www.w3.org/XML/1998/namespace",
- if (WSIConstants.NS_URI_XML.equals(attrValue))
- {
- // setting assertion result to warning
- result = AssertionResult.RESULT_WARNING;
- failureDetail = validator.createFailureDetail("The namespace "
- + "declaration nested in wsdl:schema element.", entryContext);
- break;
- }
- }
- }
-
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java
deleted file mode 100644
index 6db653ee8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2098.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Import;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-
-
-/**
- * BP2098.
- * <context>For a candidate wsdl:import element</context>
- * <assertionDescription>The "location" attribute is specified for the wsdl:import element, and has a non-empty value.</assertionDescription>
- */
-public class BP2098 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2098(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- Import im = (Import) entryContext.getEntry().getEntryDetail();
- // suppose that if location is invalid, the definition equals to null
- if (im.getLocationURI() == null || im.getLocationURI() == "")
- errors.add(im.getNamespaceURI(), im.getLocationURI());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java
deleted file mode 100644
index f9a73efee..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2101.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2101.
- * <context>For a candidate wsdl:definition, if it contains wsdl:import statements</context>
- * <assertionDescription>Each wsdl:import statement is only used to import another WSDL description.</assertionDescription>
- */
-public class BP2101 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2101(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- boolean importFound = false;
-
- /* Create falure report if import contains reference to non WSDL description.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Import, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Import im, Object parent, WSDLTraversalContext ctx)
- {
- importFound = true;
-
- // by the way : WSDL4J throws Exception if imported WSDL is not resolved
- // but documentation says that im.getDefinition() will be equal to null
- if (im.getDefinition() == null)
- errors.add(
- im.getNamespaceURI()
- + ":"
- + im.getLocationURI()
- + "\nImport element does not reference a WSDL definition.");
- else
- try
- {
- // try to parse WSDL according to the WSDL schema
- validator.parseXMLDocumentURL(
- im.getLocationURI(),
- ((Definition)parent).getDocumentBaseURI(),
- TestUtils.getWSDLSchemaLocation());
- }
- catch (Throwable t)
- {
- errors.add(
- im.getNamespaceURI()
- + ":"
- + im.getLocationURI()
- + "\n"
- + Utils.getExceptionDetails(t));
- }
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitImport(true);
- traversal.ignoreReferences();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!importFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java
deleted file mode 100644
index d272b9d75..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2102.
- * <context>For a candidate wsdl:types element, with XML schema import elements</context>
- * <assertionDescription>Each XML schema import statement (xsd:import) is only used to directly reference an XML schema definition, which has "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element. It does not contain a reference to another document embedding the XML schema definition (e.g. WSDL).</assertionDescription>
- */
-public class BP2102 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2102(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean importFound = false;
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // parse WSDL as XML
- try
- {
- Types t = (Types) entryContext.getEntry().getEntryDetail();
- List exts = t.getExtensibilityElements();
-
- Definition definition = null;
- if ((definition = validator.analyzerContext.getCandidateInfo().getDefinition(t))
- == null)
- {
- throw new WSIException("Could not find types definition in any WSDL document.");
- }
-
- if (exts != null)
- {
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement
- && el.getElementType().equals(ELEM_XSD_SCHEMA))
- testNode(((UnknownExtensibilityElement) el).getElement(),
- definition.getDocumentBaseURI());
-
- if (result.equals(AssertionResult.RESULT_FAILED))
- {
- failureDetail =
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
- }
- }
-
- if (!importFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- catch (Throwable tt)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetail =
- this.validator.createFailureDetail(
- "WSDL document can not be processed",
- entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * Check node is xsd import and it is
- * only used to directly reference an XML schema definition, which has "schema"
- * from XML namespace "http://www.w3.org/2001/XMLSchema" as root element.
- * And it does not contain a reference to another document embedding the XML schema
- * definition (e.g. WSDL).
- * @param n - Unknown extensibility element
- */
- private void testNode(Node n, String context)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- importFound = true;
-
- Element im = (Element) n;
- // Getting the schemaLocation and the namespace attributes
- Attr schemaLocation =
- XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
- Attr namespace = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
- // If there is only the namespace attribute of import element
- if (schemaLocation == null && namespace != null)
- {
- // Getting all the inline schemas of the wsdl definition
- Map schemasMap = validator.wsdlDocument.getSchemas();
- // If an inline schema imported is defined
- if (schemasMap.keySet().contains(namespace.getValue()))
- {
- // If an inline schema imported is defined
- // (that means the schema is valid),
- // continue with the next element
- n = n.getNextSibling();
- continue;
- }
-
- // no schemaLocation so try the namespace
- schemaLocation = namespace;
- }
-
- // try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- {
- try
- {
- // if any error or root element is not XSD schema -> error
- // !! ATTENTION
- // root XSD SCHEMA SCHEMA is not valid
- //Document schema = XMLUtils.parseXMLDocumentURL(schemaLocation.getValue(), XSD_SCHEMALOCATION, context);
- Document schema =
- validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
-
- // If the import is valid, then check its contents
- if (XMLUtils
- .equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- {
- // Check content of imported document
- testNode(schema.getDocumentElement().getFirstChild(),
- XMLUtils.createURLString(schemaLocation.getValue(), context));
- }
-
- else
- {
- throw new Exception();
- }
- }
- catch (Throwable t)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = schemaLocation.getValue();
- break;
- }
- }
- else
- {
- //result = AssertionResult.RESULT_FAILED;
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetailMessage =
- "schemaLocation == null and namespace == null";
- break;
- }
- }
- testNode(n.getFirstChild(), context);
- }
- n = n.getNextSibling();
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java
deleted file mode 100644
index 4fda970fd..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2103.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2103.
- * <context>For each a candidate wsdl:definitions</context>
- * <assertionDescription>For the referenced definitions as well as all imported
- * descriptions, The XML schema import statement is only used within an xsd:schema
- * element.</assertionDescription>
- */
-public class BP2103 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2103(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* Check all unknown extensibility elements it is not xsd import.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.ExtensibilityElement, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- ExtensibilityElement el,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (el instanceof UnknownExtensibilityElement)
- searchForImport(((UnknownExtensibilityElement) el).getElement());
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- //processWSDL(entryContext.getWSDLDocument().getFilename());
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.ignoreImport();
- traversal.visitExtensibilityElement(true);
-
- traversal.ignoreReferences();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * Create falure report if node is xsd import.
- * @param n - node
- */
- private void searchForImport(Node n)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- Attr a =
- XMLUtils.getAttribute((Element) n, ATTR_XSD_SCHEMALOCATION);
- String schemaLocation = (a != null) ? a.getValue() : "";
- a = XMLUtils.getAttribute((Element) n, ATTR_XSD_NAMESPACE);
- String namespace = (a != null) ? a.getValue() : "";
- errors.add(new QName(namespace, schemaLocation));
- }
-
- else
- {
- // if xsd:schema element is found -> process schema
- if (!XMLUtils.equals(n, ELEM_XSD_SCHEMA))
- searchForImport(n.getFirstChild());
- }
- }
-
- n = n.getNextSibling();
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java
deleted file mode 100644
index 792f365c3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2104.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.NullUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2104.
- * <context>For a candidate wsdl:import</context>
- * <assertionDescription>The targetNamespace attribute on the wsdl:definitions element for the imported WSDL description has the same value as the namespace attribute on the wsdl:import element that imported the WSDL description.</assertionDescription>
- */
-public class BP2104 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2104(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- private boolean importFound = false;
-
- /* Create falure report if namespace of wsdl:import does not equal targetnamespace in referenced wsdl.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Import, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Import im, Object parent, WSDLTraversalContext ctx)
- {
- importFound = true;
- Definition def = im.getDefinition();
- if (def != null)
- {
- if (!NullUtil.equals(im.getNamespaceURI(), def.getTargetNamespace()))
- errors.add(
- new QName(im.getNamespaceURI(), im.getLocationURI()),
- new QName(def.getTargetNamespace(), def.getDocumentBaseURI()));
- }
- }
-
- /*
- * Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitImport(true);
- traversal.ignoreReferences();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!importFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java
deleted file mode 100644
index b104c6d31..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2105.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2105.
- * <context>For a candidate wsdl:definitions</context>
- * <assertionDescription>For the referenced definitions, as well as all imported descriptions, in the WSDL namespace under the wsdl:defintitions element, the wsdl:import element is either directly after the wsdl:documentation element or is the first child element if the wsdl:documentation element is not present.</assertionDescription>
- */
-public class BP2105 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2105(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- private boolean importFound = false;
-
- /*
- * Check wsld import element is either directly after the wsdl:documentation element
- * or is the first child element if the wsdl:documentation element is not present.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Import, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Import im, Object parent, WSDLTraversalContext ctx)
- {
- importFound = true;
- if (im.getDefinition() != null && im.getLocationURI() != null)
- processWSDL(im.getDefinition().getDocumentBaseURI());
- }
-
- /*
- * Check element is extensibility.
- * @param el - xml element
- * @return boolean
- */
- private boolean isExtensibilityElement(Element el)
- {
- boolean isEx = true;
- isEx = isEx && !XMLUtils.equals(el, WSDL_BINDING);
- isEx = isEx && !XMLUtils.equals(el, WSDL_DEFINITIONS);
- isEx = isEx && !XMLUtils.equals(el, WSDL_DOCUMENTATION);
- isEx = isEx && !XMLUtils.equals(el, WSDL_FAULT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_IMPORT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_INPUT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_MESSAGE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_OPERATION);
- isEx = isEx && !XMLUtils.equals(el, WSDL_OUTPUT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PART);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PORT);
- isEx = isEx && !XMLUtils.equals(el, WSDL_PORTTYPE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_SERVICE);
- isEx = isEx && !XMLUtils.equals(el, WSDL_TYPES);
-
- return isEx;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- // Get the definition element that will be analyzed
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- // If it doesn't contain any imports, then the result is notApplicable
- if ((definition.getImports() == null)
- || (definition.getImports().size() == 0))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Else analyze the
- else
- {
- processWSDL(definition.getDocumentBaseURI());
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitImport(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse(
- (Definition) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!importFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- {
- result = AssertionResult.RESULT_PASSED;
- }
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * the method loads WSDL and check structure
- * @param location
- */
- private void processWSDL(String location)
- {
- try
- {
- // parses WSDL
- Document doc = validator.parseXMLDocumentURL(location, null);
- checkWSDL(doc.getDocumentElement()); // get definition
- }
- catch (Throwable t)
- {
- // ADD: add exception handling
- //System.err.println("2105 - WSDL load failed");
- errors.add(t.toString());
- }
- }
-
- /*
- * Create falure report contains information of node.
- * @param root
- */
- private void createFailed(Node root)
- {
- Attr a = XMLUtils.getAttribute((Element) root, ATTR_WSDL_LOCATION);
- String schemaLocation = (a != null) ? a.getValue() : "";
- a = XMLUtils.getAttribute((Element) root, ATTR_WSDL_NAMESPACE);
- String namespace = (a != null) ? a.getValue() : "";
- errors.add(new QName(namespace, schemaLocation));
- }
-
- /*
- * Check wsdl correspons assertion description.
- * @param root - definition
- */
- private void checkWSDL(Node root)
- {
- if (root != null)
- {
- // Find the first import element
- Element im = XMLUtils.findChildElement((Element) root, WSDL_IMPORT);
-
- // Determine if a documentation element is present in the WSDL document
- boolean documentIsPresent =
- (XMLUtils.findChildElement((Element) root, WSDL_DOCUMENTATION)
- != null);
-
- // Verify that all import elements occur after a documentation element
- while (im != null)
- {
- // Find elements that are previous to the import element
- Element el = XMLUtils.findPreviousSibling(im);
- if (el != null)
- while (isExtensibilityElement(el) && el != null)
- if (el != null)
- el = XMLUtils.findPreviousSibling(el);
-
- // If the wsdl:document elemnt is present
- if (documentIsPresent && el != null)
- {
- if (!XMLUtils.equals(el, WSDL_DOCUMENTATION) && !XMLUtils.equals(el, WSDL_IMPORT))
- createFailed(root);
- }
-
- // Else check if it is another wsdl: element
- else if (el != null)
- {
- // If not the definitions element, then check for other wsdl: element
- if (!XMLUtils.equals(el, WSDL_DEFINITIONS) && !XMLUtils.equals(el, WSDL_IMPORT))
- {
- if (el.getNamespaceURI().equals(WSIConstants.NS_URI_WSDL))
- createFailed(root);
- }
- }
-
- // Get the next import element
- im = XMLUtils.findElement(im, WSDL_IMPORT);
- }
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java
deleted file mode 100644
index 7fffb0212..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2107.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2107.
- * <context>For a candidate wsdl:types element containing an xsd:schema element</context>
- * <assertionDescription>The xsd:schema element contains a targetNamespace attribute with a valid and non-null value unless the xsd:schema element has xsd:import and/or xsd:annotation as its only child element(s).</assertionDescription>
- */
-public class BP2107 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2107(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean schemaFound = false;
- private ErrorList errors = new ErrorList();
- //private String context;
-
- /*
- * Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- Types t = (Types) entryContext.getEntry().getEntryDetail();
- List exts = t.getExtensibilityElements();
- if (exts != null)
- {
- //context = entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement)
- searchForSchema(((UnknownExtensibilityElement) el).getElement());
- }
- }
-
- // context = entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
- // processWSDL(entryContext.getWSDLDocument().getFilename());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!schemaFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * Check node schema or load schema from inmport if it exists and process it.
- * @param n - node
- */
- private void searchForSchema(Node n)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- // if xsd:schema element is found -> process schema
- if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
- {
- schemaFound = true;
- processSchema(n, null);
- }
-
- else
- {
- // if xsd:import element is found -> load schema and process schema
- //if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- // loadSchema(n);
- //else
- // else iterate element recursively
- searchForSchema(n.getFirstChild());
- }
- }
-
- n = n.getNextSibling();
- }
- }
-
- /*
- * Load schema and process it.
- * @param importNode - xsd:import element
- */
- //private void loadSchema(Node importNode)
- //{
- // Element im = (Element) importNode;
- // Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
- // // try to parse imported XSD
- // if (schemaLocation != null && schemaLocation.getValue() != null)
- // try
- // {
- // // if any error or root element is not XSD schema -> error
- // Document schema =
- // validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
- // if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- // {
- // Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
- // String namespace = (a != null) ? a.getValue() : "";
- // processSchema(schema.getDocumentElement(), namespace);
- // }
- // }
- // catch (Throwable t)
- // {
- // // nothing. it's not a schema
- // }
- //}
-
- /*
- * Create falure report if it's not correspons assertion description.
- * @param schema - xsd:schema
- * @param namespace - namespace of schema
- */
- private void processSchema(Node schema, String namespace)
- {
- Attr a =
- XMLUtils.getAttribute((Element) schema, ATTR_XSD_TARGETNAMESPACE);
- String targetNamespace = (a != null) ? a.getValue() : null;
-
- Node n = schema.getFirstChild();
- // !! we suppose that xsd:import element is occured only within xsd:schema element
- boolean containsOnlyImportAndAnnotation = true;
- while (n != null)
- {
- if (n.getNodeType() == Node.ELEMENT_NODE)
- {
- containsOnlyImportAndAnnotation
- &= (XMLUtils.equals(n, ELEM_XSD_IMPORT)
- || XMLUtils.equals(n, ELEM_XSD_ANNOTATION));
- }
-
- //if (Node.ELEMENT_NODE == n.getNodeType() && XMLUtils.equals(n, ELEM_XSD_IMPORT))
- // loadSchema(n);
-
- n = n.getNextSibling();
- }
-
- // If the target namespace is not set and there are elements in addition to import and annotation, then error
- if ((targetNamespace == null || targetNamespace.length() == 0)
- && (!containsOnlyImportAndAnnotation))
- {
- errors.add(targetNamespace, XMLUtils.serialize((Element) schema));
- }
-
- if (namespace != null && !namespace.equals(targetNamespace))
- {
- errors.add(namespace, XMLUtils.serialize((Element) schema));
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java
deleted file mode 100644
index bf733f5dc..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2108.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-
-
-/**
- * BP2108.
- * <context>For a candidate wsdl:types, with Array declarations either locally defined or from an imported description</context>
- * <assertionDescription>The type soapenc:Array does not appear in these declarations, and the wsdl:arrayType attribute is not used in the type declaration.</assertionDescription>
- */
-public class BP2108 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2108(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /*
- * Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- Types t = (Types) entryContext.getEntry().getEntryDetail();
-
- // Search the definitions in CandidateInfo to locate the definition element that contains the specified types element
- Definition definition = null;
- if ((definition = validator.analyzerContext.getCandidateInfo().getDefinition(t))
- == null)
- {
- // This should never happen, but if it does then throw an execption
- throw new WSIException("Could not locate types element definition.");
- }
-
- else
- {
- TypesRegistry registry =
- new TypesRegistry(
- t,
- definition.getDocumentBaseURI(),
- validator);
-
- Iterator it = registry.getArrayTypes().iterator();
- while (it.hasNext())
- errors.add((QName) it.next());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java
deleted file mode 100644
index 519b6f0c6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2110.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-
-
-/**
- * BP2110.
- * <context>For a candidate wsdl:types</context>
- * <assertionDescription>Array declaration wrapper elements does not use the naming convention ArrayOfXXX.</assertionDescription>
- */
-public class BP2110 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2110(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_WARNING;
-
- Types t = (Types) entryContext.getEntry().getEntryDetail();
-
- // Search the definitions in CandidateInfo to locate the definition element that contains the specified types element
- Definition definition = null;
- if ((definition = validator.analyzerContext.getCandidateInfo().getDefinition(t))
- == null)
- {
- // This should never happen, but if it does then throw an execption
- throw new WSIException("Could not locate types element definition.");
- }
-
- else
- {
- TypesRegistry registry =
- new TypesRegistry(
- t,
- definition.getDocumentBaseURI(),
- validator);
-
- Iterator it = registry.getElementList().iterator();
- while (it.hasNext())
- {
- QName type = (QName) it.next();
- if (type.getLocalPart().startsWith("ArrayOf"))
- errors.add(type);
- }
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java
deleted file mode 100644
index b9d942ddf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2111.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2111.
- * <context>For a candidate wsdl:binding, which contains a document-literal soap:binding</context>
- *
- * <assertionDescription>If the "parts" attribute is present, then the soapbind:body element(s) have at most one part listed in the parts attribute.</assertionDescription>
- */
-public class BP2111 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2111(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean docLiteralFound = false;
- private ErrorList errors = new ErrorList();
-
- /*
- * Put in context soap binding's style
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
-
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
-
- /*
- * Verify style of soap operation is "document" if not then it's canceled process.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style == null)
- style = (String) ctx.getParameter("style");
- // assert style != null
- if (!WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC.equals(style))
- ctx.cancelBindingOperationProcessing();
- }
-
- /*
- * If use of soap body is "literal" and parts of soap body is more than one it creates falure report.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- // assert style == "document"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse()))
- {
- docLiteralFound = true;
-
- List parts = body.getParts();
- if (parts != null && parts.size() > 1)
- //how to pick out one body from another one ?
- errors.add(body.getElementType(), body.getNamespaceURI());
- }
- }
-
- /*
- * Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);;
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPOperation(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!docLiteralFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java
deleted file mode 100644
index 262bc9f34..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2112.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2112.
- * <context>For a candidate wsdl:binding, with a style "rpc" attribute and containing at least a soapbind:body element</context>
- * <assertionDescription>No wsdl:part referred by such a soapbind:body element is defined using the "element" attribute.</assertionDescription>
- */
-public class BP2112 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2112(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean rpcLiteralFound = false;
- private ErrorList errors = new ErrorList();
-
- /*
- * Put in context soap binding's style
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
-
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("bindingStyle", style);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.BindingOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- BindingOperation op,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.removeParameter("operationStyle");
- }
-
- /*
- * Verify style of soap operation is "rpc" if not then it's canceled process.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- ctx.addParameter("operationStyle", operation.getStyle());
- }
-
- /*
- * If use of soap body is "literal" and if at least one part is define using "element" attribute it creates falure report.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- String opStyle = (String) ctx.getParameter("operationStyle");
- String bStyle = (String) ctx.getParameter("bindingStyle");
-
- if ((opStyle == null
- && !WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(bStyle))
- || (opStyle != null
- && !WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(opStyle)))
- {
- ctx.cancelBindingOperationProcessing();
- return;
- }
- // assert use == "literal"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse()))
- {
- rpcLiteralFound = true;
-
- // find corresponding message
- Operation op = ctx.getBindingOperation().getOperation();
- // if some links are broken, cancel processing
- if (op == null
- || (parent instanceof BindingInput && op.getInput() == null)
- || (parent instanceof BindingOutput && op.getOutput() == null))
- return;
-
- Message m =
- (parent instanceof BindingInput)
- ? op.getInput().getMessage()
- : op.getOutput().getMessage();
- // REMOVE: current message should equals to message given as entry
- //if (m == null || message != m)
- if (m == null)
- return;
-
- List parts =
- WSDLUtil.getParts(
- op,
- m,
- body,
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC);
- if (parts == null)
- return;
-
- /* check whether parts list contains a parts which uses
- * element attribute. If so, part name will be added into
- * errors set.
- */
- Iterator it = parts.iterator();
- while (it.hasNext())
- {
- Part part = (Part) it.next();
- if (part.getElementName() != null)
- errors.add(part.getName());
- }
- }
- }
-
- /*
- * Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
- // save message
- //message = (Message)entryContext.getEntry().getEntryDetail();
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);;
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitBindingOperation(true);
- traversal.visitSOAPOperation(true);
- traversal.visitSOAPBody(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
-
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!rpcLiteralFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java
deleted file mode 100644
index bd31cdc0d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2113.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2113.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The soapbind:header, soapbind:headerfault and soapbind:fault elements only refer to wsdl:part element(s) that have been defined using the "element" attribute.</assertionDescription>
- */
-public class BP2113 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2113(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /*
- * Verify soap header uses part is define using "element" attribute
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeader, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeader header,
- Object parent,
- WSDLTraversalContext ctx)
- {
- Definition d = (Definition) ctx.getParameter("definition");
- Message m = d.getMessage(header.getMessage());
- if (m != null)
- checkPart(m.getPart(header.getPart()), ctx.getBinding());
- }
-
- /*
- * Verify soap headerfault uses part is define using "element" attribute
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeaderFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault fault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- Definition d = (Definition) ctx.getParameter("definition");
- Message m = d.getMessage(fault.getMessage());
- // if message or part is not found - NOT_APPLICABLE ????
- if (m != null)
- checkPart(m.getPart(fault.getPart()), ctx.getBinding());
- }
-
- /*
- * Verify soap fault uses part is define using "element" attribute
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- String faultName = fault.getName();
- if (faultName == null)
- faultName = ctx.getBindingFault().getName();
- Operation op = ctx.getBindingOperation().getOperation();
- if (op == null /* || faultName == null*/
- ) // may be it's possible to have legal fault with null name
- return;
- // we suppose that SOAPFault.getName() corresponds to the abstract operation's fault name
- Fault f = op.getFault(faultName);
- if (f == null)
- return;
- Message m = f.getMessage();
- // message should have only one part
- if (m == null || m.getParts() == null || m.getParts().size() != 1)
- return;
- checkPart((Part) m.getOrderedParts(null).get(0), ctx.getBinding());
- }
-
- /*
- * Verify part is define using "element" attribute.
- * @param p - part
- * @param b - binding
- */
- // refactoring
- private void checkPart(Part p, Binding b)
- {
- if (p != null && p.getElementName() == null)
- errors.add(b.getQName(), p.getName());
- }
-
- /*
- * Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);;
- traversal.setVisitor(this);
- traversal.visitSOAPHeader(true);
- traversal.visitSOAPHeaderFault(true);
- traversal.visitSOAPFault(true);
-
- Map m = new HashMap();
- Definition def = entryContext.getWSDLDocument().getDefinitions();
- WSDLUtil.expandDefinition(def);
- m.put("definition", def);
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail(), m);
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java
deleted file mode 100644
index 4b549d12c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2114.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Fault;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2114.
- * <context>For a candidate wsdl:binding element</context>
- *
- *
- * <assertionDescription>Every wsdl:part from each wsdl:message in the associated
- * wsdl:portType is referenced either by the soapbind:body, soapbind:header,
- * soapbind:fault, or soapbind:headerfault.</assertionDescription>
- */
-public class BP2114 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2114(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- // map Message QName -> set(Part name)
- public Map messages = new HashMap();
-
- /*
- * Add to Map parts which used by message
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Message m, Object parent, WSDLTraversalContext ctx)
- {
- if (m != null
- && !messages.containsKey(m)
- && m.getOrderedParts(null) != null)
- {
- Set s = new HashSet();
- Iterator it = m.getOrderedParts(null).iterator();
- while (it.hasNext())
- s.add(((Part) it.next()).getName());
-
- //messages.put(m.getQName(), s);
- if (s.size() > 0)
- {
- messages.put(m.getQName(), s);
- }
- }
- }
-
- /*
- * Put in context style of soap binding
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style != null)
- ctx.addParameter("style", style);
- }
-
- /*
- * Remove parts of soap body from Map.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- // String style = (String)ctx.getParameter("style");
-
- // find corresponding message
- Operation op = ctx.getBindingOperation().getOperation();
- // if some links are broken, cancel processing
- if (op == null)
- return;
- Message m = null;
- if (parent instanceof BindingInput)
- {
- if (op.getInput() == null)
- return;
- m = op.getInput().getMessage();
- }
- else if (parent instanceof BindingOutput)
- {
- if (op.getOutput() == null)
- return;
- m = op.getOutput().getMessage();
- }
- if (m == null)
- return;
-
- // get parts
- List parts = WSDLUtil.getParts(op, m, body, null);
- if (parts == null)
- return;
-
- // iterate all parts and check
- Iterator it = parts.iterator();
- while (it.hasNext())
- removePart(m.getQName(), ((Part) it.next()).getName());
- }
-
- /*
- * Remove parts of soap header from Map.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeader, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeader header,
- Object parent,
- WSDLTraversalContext ctx)
- {
- // we suppose that it possible to have legal message and part with null names
- // ATTENTION
- // should we add message which is referenced by header or headerfault to messages ?
- removePart(header.getMessage(), header.getPart());
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeaderFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault fault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- // we suppose that it possible to have legal message and patr with null names
- QName messageName = fault.getMessage();
- if (messageName == null)
- messageName = ctx.getSOAPHeader().getMessage();
- removePart(messageName, fault.getPart());
- }
-
- /*
- * Remove parts of soap fault from Map.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- String faultName = fault.getName();
- if (faultName == null)
- faultName = ctx.getBindingFault().getName();
- Operation op = ctx.getBindingOperation().getOperation();
- if (op == null)
- return;
-
- // we suppose that SOAPFault.getName() corresponds to the abstract operation's fault name
- Fault f = op.getFault(faultName);
-
- // fault message should have 1 part
- if (f == null
- || f.getMessage() == null
- || f.getMessage().getParts().size() != 1)
- return;
-
- Part p = (Part) f.getMessage().getOrderedParts(null).get(0);
- removePart(f.getMessage().getQName(), p.getName());
- }
-
- /*
- * Remove part from Map.
- * @param messageName - message
- * @param partName - part
- */
- // refatoring
- private void removePart(QName messageName, String partName)
- {
- Set parts = (Set) messages.get(messageName);
- if (parts != null)
- {
- parts.remove(partName);
- if (parts.size() == 0)
- messages.remove(messageName);
- }
- }
-
- /*
- * Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_WARNING;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitMessage(true);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPHeader(true);
- traversal.visitSOAPHeaderFault(true);
- traversal.visitSOAPFault(true);
- traversal.visitSOAPOperation(true);
-
- Binding b = (Binding) entryContext.getEntry().getEntryDetail();
- traversal.traverse(b);
-
- if (messages.size() > 0)
- errors.add(b.getQName());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java
deleted file mode 100644
index be98298b9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2115.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2115.
- * <context>For a candidate wsdl:message</context>
- * <assertionDescription>An "element" attribute on any wsdl:part element refers to a global element declaration.</assertionDescription>
- */
-public class BP2115 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2115(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private TypesRegistry registry = null;
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Part, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Part part, Object parent, WSDLTraversalContext ctx)
- {
- if (part.getElementName() != null
- && registry.getType(part.getElementName()) == null)
- {
- errors.add(ctx.getMessage().getQName());
- ctx.cancelMessageProcessing();
- }
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- registry =
- new TypesRegistry(
- entryContext.getWSDLDocument().getDefinitions(),
- validator);
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitPart(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Message) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java
deleted file mode 100644
index f19ff0991..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2116.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2116.
- * <context>For a candidate wsdl:message element</context>
- * <assertionDescription>The wsdl:message element does not contain part elements that use both "type" and "element" attributes.</assertionDescription>
- */
-public class BP2116 extends AssertionProcessVisitor implements WSITag
-{
-
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2116(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Part, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Part part, Object parent, WSDLTraversalContext ctx)
- {
- if (part.getElementName() != null && part.getTypeName() != null)
- {
- errors.add(ctx.getMessage().getQName());
- ctx.cancelMessageProcessing();
- }
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitPart(true);
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Message) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java
deleted file mode 100644
index 6709fa796..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2117.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2117.
- * <context>For a candidate wsdl:binding element, referred to by an rpc-literal soap:binding</context>
- * <assertionDescription>The rpc-literal binding does not have a namespace attribute specified on a contained soapbind:header, soapbind:headerfault, and soapbind:fault element.</assertionDescription>
- */
-public class BP2117 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2117(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean rpcLiteralFound = false;
- private ErrorList errors = new ErrorList();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
-
- /*
- * If use of soap body is "literal" and if at least one part is define using "element" attribute it creates falure report.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- // assert use == "literal"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse())
- && ((String) ctx.getParameter("style")).equals(
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC))
- {
- rpcLiteralFound = true;
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style == null)
- style = (String) ctx.getParameter("style");
-
- // assert style != null
- if (!WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(style))
- ctx.cancelBindingOperationProcessing();
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeader, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeader header,
- Object parent,
- WSDLTraversalContext ctx)
- {
- check(header.getUse(), header.getNamespaceURI(), ctx);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPHeaderFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPHeaderFault fault,
- Object parent,
- WSDLTraversalContext ctx)
- {
- check(fault.getUse(), fault.getNamespaceURI(), ctx);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPFault, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx)
- {
- check(fault.getUse(), fault.getNamespaceURI(), ctx);
- }
-
- // refactoring
- // check LITERAL use and != namespace
- // canceling further processing
- private void check(String use, String namespace, WSDLTraversalContext ctx)
- {
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(use)
- && namespace != null)
- {
- errors.add(ctx.getBinding().getQName());
- // suppresses subsequent processing, because error list contains only failed binding
- ctx.cancelProcessing();
- }
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPHeader(true);
- traversal.visitSOAPHeaderFault(true);
- traversal.visitSOAPFault(true);
- traversal.visitSOAPOperation(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!rpcLiteralFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java
deleted file mode 100644
index 6a4a73385..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2118.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Operation;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2118.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The list (or set) of wsdl:operation elements for the contained wsdl:binding is the same as the list of wsdl:operations for the referred wsdl:portType.</assertionDescription>
- */
-public class BP2118 extends AssertionProcessVisitor implements WSITag
-{
-
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2118(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Operation op, Object parent, WSDLTraversalContext ctx)
- {
- // assert parent instanceof BindingOperation
- if (op == null)
- {
- errors.add(ctx.getBinding().getQName());
- // suppresses subsequent processing, because error list contains only failed binding
- ctx.cancelBindingProcessing();
- ctx.cancelBindingOperationProcessing();
- }
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- Binding b = (Binding) entryContext.getEntry().getEntryDetail();
- // if operations count in port type and binding is differ -> error
- if (b.getPortType() == null
- || b.getPortType().getOperations().size()
- != b.getBindingOperations().size())
- errors.add(b.getQName());
- else
- {
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.traverse(b);
- }
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java
deleted file mode 100644
index 3de1a8342..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2119.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Operation;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2119.
- * <context>For a candidate wsdl:binding, which is of type document-literal</context>
- * <assertionDescription>If it does not specify the parts attribute on a soapbind:body element, the corresponding abstract wsdl:message defines zero or one wsdl:part.</assertionDescription>
- */
-public class BP2119 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2119(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean docLiteralFound = false;
- private ErrorList errors = new ErrorList();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style == null)
- style = (String) ctx.getParameter("style");
- // assert style != null
- if (!WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC.equals(style))
- ctx.cancelBindingOperationProcessing();
- }
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- String use =
- (body.getUse() == null)
- ? WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT
- : body.getUse();
-
- // assert style == "document"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(use))
- {
- docLiteralFound = true;
- if (body.getParts() == null)
- {
- Operation op = ctx.getBindingOperation().getOperation();
- if (op == null)
- return;
-
- Map parts = null;
- if (parent instanceof BindingInput)
- {
- if (op.getInput() == null || op.getInput().getMessage() == null)
- return;
- parts = op.getInput().getMessage().getParts();
- }
- else if (parent instanceof BindingOutput)
- {
- if (op.getOutput() == null || op.getOutput().getMessage() == null)
- return;
- parts = op.getOutput().getMessage().getParts();
- }
-
- if (parts != null && parts.size() > 1)
- {
- errors.add(ctx.getBinding().getQName());
- // suppresses subsequent processing, because error list contains only failed binding
- ctx.cancelBindingProcessing();
- ctx.cancelBindingOperationProcessing();
- ctx.cancelBindingInputProcessing();
- ctx.cancelBindingOutputProcessing();
- }
- }
- }
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPOperation(true);
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!docLiteralFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java
deleted file mode 100644
index 692728364..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2120.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2120.
- * <context>For a candidate wsdl:binding</context>
- * <assertionDescription>Each operation referenced by the binding results in a unique wire signature.</assertionDescription>
- */
-public class BP2120 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2120(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private Set wares = new HashSet();
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBinding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPOperation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style != null)
- ctx.addParameter("style", style);
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.soap.SOAPBody, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- List signature = new LinkedList();
-
- String style = (String) ctx.getParameter("style");
-
- // find corresponding message
- Operation op = ctx.getBindingOperation().getOperation();
-
- // if some links are broken, cancel processing
- if (op == null
- || op.getInput() == null
- || op.getInput().getMessage() == null)
- return;
- Message m = op.getInput().getMessage();
-
- List parts = WSDLUtil.getParts(op, m, body, style);
- if (parts == null)
- return;
- // !! ATTENTION
- // may be required to add types instead of part into signature ?
-
- // create signature
- signature.addAll(parts);
-
- // suppose that wire signature for
- // - rpc style = operation name + parts' qname
- // - document style = parts' qname
- if (WSIConstants.ATTRVAL_SOAP_BIND_STYLE_RPC.equals(style))
- signature.add(0, op.getName());
-
- if (sameSignature(wares, signature))
- errors.add(op.getName());
- else
- wares.add(signature);
- }
-
- /**
- * Check if the signature is in the set match.
- */
- private boolean sameSignature(Set signatureSet, List signature)
- {
- boolean same = false;
-
- // Get iterator for set
- Iterator set = signatureSet.iterator();
- while (set.hasNext() && !same)
- {
- // Get next signature from the set
- List nextSignature = (List) set.next();
-
- // Only continue if the signatures are the same size
- if (nextSignature.size() == signature.size())
- {
- Iterator iterator1 = nextSignature.iterator();
- Iterator iterator2 = signature.iterator();
-
- // Assume same until a difference is found
- same = true;
-
- // Process each list until a difference is found
- while (iterator1.hasNext() && iterator2.hasNext() && same)
- {
- // Get the next elements
- Object element1 = iterator1.next();
- Object element2 = iterator2.next();
-
- // If the element is a string, then if equal check parts
- if ((element1 instanceof String)
- && (element2 instanceof String)
- && (((String) element1).equals((String) element2)))
- {
- same = true;
- }
-
- // If the elements are parts, then check if they are equal
- else if ((element1 instanceof Part) && (element2 instanceof Part))
- {
- same = sameParts((Part) element1, (Part) element2);
- }
-
- else
- {
- same = false;
- }
- }
- }
- }
-
- return same;
- }
-
- /**
- * Check if two parts are the same.
- */
- private boolean sameParts(Part part1, Part part2)
- {
- boolean same = false;
-
- // If the part has an element then see if they are the same
- if (part1.getElementName() != null
- && part2.getElementName() != null
- && part1.getElementName().equals(part2.getElementName()))
- {
- same = true;
- }
-
- // If the part has an type then see if they are the same
- else if (
- part1.getTypeName() != null
- && part2.getTypeName() != null
- && part1.getTypeName().equals(part2.getTypeName()))
- {
- same = true;
- }
-
- else
- {
- same = false;
- }
-
- return same;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPOperation(true);
- traversal.ignoreBindingOutput();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- // !! ATTENTION
- // Analyze soapbind:body:namespace and service targetNamespace
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java
deleted file mode 100644
index 6ad594a36..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2121.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPOperation;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.TypesRegistry;
-import org.eclipse.wst.wsi.internal.core.util.WSDLUtil;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2121.
- * Context:
- * For a wsdl:binding element which is referenced directly or associated
- * with a specified wsdl:port.
- *
- * Assertion Description:
- * Each operation referenced by a document-literal binding must have a
- * message definition where the wsdl:part references a global element
- * definition.
- */
-public class BP2121 extends AssertionProcessVisitor implements WSITag
-{
-
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2121(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private TypesRegistry registry = null;
-
- public void visit(
- SOAPBinding binding,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style =
- (binding.getStyle() == null)
- ? WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC
- : binding.getStyle();
- ctx.addParameter("style", style);
- }
- public void visit(
- SOAPOperation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- String style = operation.getStyle();
- if (style == null)
- style = (String) ctx.getParameter("style");
- // assert style != null
- if (!WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC.equals(style))
- ctx.cancelBindingOperationProcessing();
- }
-
- public void visit(SOAPBody body, Object parent, WSDLTraversalContext ctx)
- {
- // !! ATTENTION
- // we suppose that soapbody child elements is its parts.
- // assert style == "document"
- if (WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT.equals(body.getUse()))
- {
- // find corresponding message
- Operation op = ctx.getBindingOperation().getOperation();
- // if some links are broken, cancel processing
- if (op == null
- || (parent instanceof BindingInput && op.getInput() == null)
- || (parent instanceof BindingOutput && op.getOutput() == null))
- return;
-
- Message m =
- (parent instanceof BindingInput)
- ? op.getInput().getMessage()
- : op.getOutput().getMessage();
- if (m == null)
- return;
-
- // find parts which are involved in the given body
- List parts =
- WSDLUtil.getParts(
- op,
- m,
- body,
- WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC);
- if (parts == null)
- return;
-
- // check parts
- Iterator it = parts.iterator();
- while (it.hasNext())
- {
- Part p = (Part) it.next();
- // check whether p declared as global element
- if (p.getElementName() == null
- || registry.getType(p.getElementName()) == null)
- {
- errors.add(op.getName());
- // suppresses subsequent processing, because error list contains only failed operation
- ctx.cancelBindingOperationProcessing();
- }
- }
- }
- }
-
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- registry =
- new TypesRegistry(
- entryContext.getWSDLDocument().getDefinitions(),
- validator);
-
- // collect all types from messages to checkedParts map
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitSOAPBinding(true);
- traversal.visitSOAPBody(true);
- traversal.visitSOAPOperation(true);
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java
deleted file mode 100644
index f6caf111f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2122.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.List;
-
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-
-
-/**
- * BP2122.
- * <context>For a candidate wsdl:types element</context>
- * <assertionDescription>The data type definition if any within the wsdl:types element is an XML schema definition defined in the XML Schema 1.0 Recommendation with the namespace URI "http://www.w3.org/2001/XMLSchema".</assertionDescription>
- */
-public class BP2122 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2122(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
- ErrorList errorList = new ErrorList();
-
- // Get the types from the entry context
- Types types = (Types) entryContext.getEntry().getEntryDetail();
-
- if (types != null)
- {
- ExtensibilityElement extElement;
- List extElements = types.getExtensibilityElements();
-
- // Process each ext. element
- for (int i = 0; i < extElements.size(); i++)
- {
- // If it is an unknown ext. element and it is a schema, then check it
- if ((extElement = (ExtensibilityElement) extElements.get(i))
- instanceof UnknownExtensibilityElement)
- {
- if (!extElement.getElementType().equals(WSITag.ELEM_XSD_SCHEMA))
- {
- // If it is not a schema definition, then it is an error
- errorList.add(
- extElement.getElementType().toString()
- + " can not be a child of the wsdl:types element.");
- }
- }
- }
- }
-
- // If XMLSchemaValidator could not find any errors, check errors from the inline schema validator
- if (errorList.isEmpty())
- errorList.add(validator.wsdlDocument.getSchemasValidationErrors());
-
- if (!errorList.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errorList.toString(), entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java
deleted file mode 100644
index af5f833d2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2123.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Input;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.extensions.ExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-
-
-/**
- * BP2123.
- * <context>For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message</context>
- * <assertionDescription>Contained WSDL extension elements do not use the wsdl:required attribute value of "true".</assertionDescription>
- */
-public class BP2123 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2123(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean claimFound = false;
-
- private static final String PORT_KEY = "port";
- private static final String BINDING_KEY = "binding";
- private static final String PORT_TYPE_KEY = "port type";
- private static final String OPERATION_KEY = "operation";
- private static final String MESSAGE_KEY = "message";
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Port, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Port port, Object parent, WSDLTraversalContext ctx)
- {
- if (port != null)
- {
- if (containsLegalClaim(port.getDocumentationElement()))
- {
- claimFound = true;
- ctx.addParameter(PORT_KEY, Boolean.TRUE);
- }
- else
- {
- ctx.addParameter(PORT_KEY, Boolean.FALSE);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Binding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Binding binding, Object parent, WSDLTraversalContext ctx)
- {
- if (binding != null)
- {
- Boolean port = (Boolean) ctx.getParameter(PORT_KEY);
-
- if (port.booleanValue())
- {
- ctx.addParameter(BINDING_KEY, Boolean.TRUE);
- }
- else
- {
- claimFound = containsClaim(binding.getDocumentationElement());
- ctx.addParameter(
- BINDING_KEY,
- new Boolean(containsLegalClaim(binding.getDocumentationElement())));
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.PortType, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(PortType type, Object parent, WSDLTraversalContext ctx)
- {
- if (type != null)
- {
- Boolean binding = (Boolean) ctx.getParameter(BINDING_KEY);
-
- if (binding.booleanValue())
- {
- ctx.addParameter(PORT_TYPE_KEY, Boolean.TRUE);
- }
- else
- {
- claimFound = containsClaim(type.getDocumentationElement());
- ctx.addParameter(
- PORT_TYPE_KEY,
- new Boolean(containsLegalClaim(type.getDocumentationElement())));
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- Operation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (operation != null)
- {
- Boolean type = (Boolean) ctx.getParameter(PORT_TYPE_KEY);
-
- if (type.booleanValue())
- {
- ctx.addParameter(OPERATION_KEY, Boolean.TRUE);
- }
- else
- {
- claimFound = containsClaim(operation.getDocumentationElement());
- ctx.addParameter(
- OPERATION_KEY,
- new Boolean(
- containsLegalClaim(operation.getDocumentationElement())));
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Message message, Object parent, WSDLTraversalContext ctx)
- {
- if (message != null)
- {
- Boolean operation = (Boolean) ctx.getParameter(OPERATION_KEY);
-
- if (operation.booleanValue())
- {
- ctx.addParameter(MESSAGE_KEY, Boolean.TRUE);
- }
- else
- {
- claimFound = containsClaim(message.getDocumentationElement());
- ctx.addParameter(
- MESSAGE_KEY,
- new Boolean(containsLegalClaim(message.getDocumentationElement())));
- }
- }
- }
-
- /*
- public void visit(BindingOperation operation, Object parent, WSDLTraversalContext ctx) {
- if (operation != null) {
- if (containsLegalClaim(operation.getDocumentationElement())) {
- System.out.println("binding operation found");
- } else {
-
- }
- }
- }
- */
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.ExtensibilityElement, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
-
- public void visit(
- ExtensibilityElement el,
- Object parent,
- WSDLTraversalContext ctx)
- {
- boolean required =
- el != null
- && el.getRequired() != null
- && el.getRequired().booleanValue();
-
- if (isParentConforms(parent, ctx))
- {
- if (required)
- {
- result = AssertionResult.RESULT_WARNING;
- failureDetailMessage = el.toString();
- }
- }
- }
-
- /**
- * Indicates whether the parent element conforms to the basic profile.
- * @param parent
- * @param ctx
- * @return boolean
- */
- private boolean isParentConforms(Object parent, WSDLTraversalContext ctx)
- {
- boolean result = false;
-
- if (parent instanceof Port)
- {
- result = ((Boolean) ctx.getParameter(PORT_KEY)).booleanValue();
- }
- else if (
- parent instanceof Binding
- || parent instanceof BindingOperation
- || parent instanceof BindingInput
- || parent instanceof BindingOutput
- || parent instanceof BindingFault)
- {
- result = ((Boolean) ctx.getParameter(BINDING_KEY)).booleanValue();
- }
- else if (parent instanceof PortType)
- {
- result = ((Boolean) ctx.getParameter(PORT_TYPE_KEY)).booleanValue();
- }
- else if (
- parent instanceof Operation
- || parent instanceof Input
- || parent instanceof Output
- || parent instanceof Fault)
- {
- result = ((Boolean) ctx.getParameter(OPERATION_KEY)).booleanValue();
- }
- else if (parent instanceof Message || parent instanceof Part)
- {
- result = ((Boolean) ctx.getParameter(MESSAGE_KEY)).booleanValue();
- }
-
- return result;
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(TestAssertion, EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Expect wsdl:defintions
- Definition def = (Definition) entryContext.getEntry().getEntryDetail();
- //((Service)def.getServices().values().toArray()[0]).getPorts()
- // Traverse WSDL
- WSDLTraversal traversal = new WSDLTraversal();
- // VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.visitBinding(true);
- traversal.visitMessage(true);
- traversal.visitPort(true);
- traversal.visitPortType(true);
- traversal.visitExtensibilityElement(true);
-
- traversal.ignoreImport();
- traversal.ignoreDefinition2Binding();
- traversal.ignoreDefinition2Element();
- traversal.ignoreDefinition2ExtensibilityElement();
- traversal.ignoreDefinition2Message();
- traversal.ignoreDefinition2PortType();
- traversal.ignoreDefinition2Types();
-
- traversal.traverse(def);
-
- if (!claimFound)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else if (result.equals(AssertionResult.RESULT_WARNING))
- {
- failureDetail = this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Check the documentation element whether contains conformance claims.
- * Returns true if documentation element contains conformance claim with
- * legal schema definition URI.
- * legal is 'http://ws-i.org/schemas/conformanceClaim/'
- * @param el
- * @return boolean
- */
- private boolean containsClaim(Element el)
- {
- if (el == null)
- return false;
- // find claim
- el = XMLUtils.findChildElement(el, WSI_CLAIM);
- if (el != null)
- {
- return true;
- }
- return false;
- }
-
- /**
- * Check the documentation element whether contains conformance claims.
- * Returns true if documentation element contains conformance claim with
- * legal schema definition URI.
- * legal is 'http://ws-i.org/schemas/conformanceClaim/'
- * @param el
- * @return boolean
- */
- private boolean containsLegalClaim(Element el)
- {
- if (el == null)
- return false;
- // find claim
- el = XMLUtils.findChildElement(el, WSI_CLAIM);
- while (el != null)
- {
- String value = el.getAttribute(ATTR_CLAIM_CONFORMSTO.getLocalPart());
- if (value != null
- && value.equalsIgnoreCase(WSIConstants.ATTRVAL_UDDI_CLAIM_KEYVALUE))
- {
- return true;
- }
-
- el = XMLUtils.findElement(el, WSI_CLAIM);
- }
- return false;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java
deleted file mode 100644
index 324ddfc3e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2201.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-
-import javax.wsdl.Definition;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.StringTokenizer;
-
-/**
- * BP2201.
- * <context>For a candidate Web service definition within a WSDL document with a XML declaration statement. </context>
- * <assertionDescription>The XML declaration statement uses UTF-8 or UTF-16 for the encoding. </assertionDescription>
- */
-public class BP2201 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2201(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private final char[] OMMITED_XML_DECLARATION_DELIMITERS = new char[]{0x20,
- 0x9, 0xD, 0xA, '\'', '\"'};
- private final char[] XML_DECLARATION_DELIMITERS = new char[]{'='};
- private final String UTF_8_ENCODING = "UTF-8";
- private final String UTF_16_ENCODING = "UTF-16";
- private final String ENCODING_TOKEN = "encoding";
- /*
- * (non-Javadoc)
- *
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion,
- * org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(TestAssertion testAssertion,
- EntryContext entryContext) throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
- Definition definition = (Definition) entryContext.getEntry()
- .getEntryDetail();
- String location = definition.getDocumentBaseURI();
- String xmlDecl = readXMLDeclarationStatement(location);
- if (xmlDecl == null)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- } else
- {
- if (!validEncoding(xmlDecl))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(xmlDecl, entryContext);
- }
- }
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
- /**
- * Reads an XML declaration statement.
- *
- * @param location
- * @return String
- */
- private String readXMLDeclarationStatement(String location)
- {
- String result = null;
- if (location != null)
- {
- URL url = null;
- Reader reader = null;
- try
- {
- try
- {
- url = new URL(location);
- } catch (MalformedURLException e)
- {
- // we should try to access location as file
- }
- if (url != null)
- {
- reader = new InputStreamReader(url.openStream());
- } else
- {
- reader = new InputStreamReader(new FileInputStream(location));
- }
- int charCode;
- boolean end = false;
- if (reader.ready())
- {
- charCode = reader.read();
- while (reader.ready() && !(charCode == '<'))
- {
- charCode = reader.read();
- }
- char[] c = new char[4];
- reader.read(c);
- StringBuffer buf = new StringBuffer();
- if (new String(c).toLowerCase().equals("?xml"))
- {
- buf.append("<?xml");
- while (reader.ready() && !end)
- {
- charCode = reader.read();
- buf.append((char) charCode);
- end = charCode == '>';
- }
- } else
- {
- // NOTE: This result does not get propogated back!
- this.result = AssertionResult.RESULT_NOT_APPLICABLE;
- return null;
- }
- result = buf.toString();
- }
- } catch (Exception e)
- {
- //VERBOSE
- if (validator.verboseOption)
- {
- System.err.println(" [WSI2201] Exception: " + e.getMessage());
- }
- } finally
- {
- if (reader != null)
- {
- try
- {
- reader.close();
- } catch (Throwable e)
- {
- }
- }
- }
- }
- return result;
- }
- /*
- * Verify xml declaration contains utf-16 or utf-8 encoding. @param xmlDecl -
- * xml declaration @return
- */
- private boolean validEncoding(String xmlDecl)
- {
- //boolean result = false;
- boolean result = true;
- if (xmlDecl != null)
- {
- StringTokenizer st = new StringTokenizer(
- OMMITED_XML_DECLARATION_DELIMITERS, XML_DECLARATION_DELIMITERS);
- Enumeration tokens = st.parse(xmlDecl);
- boolean found = false;
- while (tokens.hasMoreElements() && !found)
- {
- String token = (String) tokens.nextElement();
- if (token.equals(ENCODING_TOKEN))
- {
- found = true;
- tokens.nextElement();
- String enc = (String) tokens.nextElement();
- result = UTF_8_ENCODING.equalsIgnoreCase(enc)
- || UTF_16_ENCODING.equalsIgnoreCase(enc);
- }
- }
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java
deleted file mode 100644
index 64c793426..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2202.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.util.StringTokenizer;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2202.
- * <context>For a candidate wsdl:types element within a WSDL document which imports an XML schema directly or indirectly.</context>
- * <assertionDescription>The imported schema uses UTF-8 or UTF-16 for the encoding.</assertionDescription>
- */
-public class BP2202 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2202(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private boolean importFound = false;
-
- private final char[] OMMITED_XML_DECLARATION_DELIMITERS =
- new char[] { 0x20, 0x9, 0xD, 0xA, '\'', '\"' };
- private final char[] XML_DECLARATION_DELIMITERS = new char[] { '=' };
- private final String UTF_8_ENCODING = "UTF-8";
- private final String UTF_16_ENCODING = "UTF-16";
-
- private final String ENCODING_TOKEN = "encoding";
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- //Definition def = (Definition) entryContext.getEntry().getEntryDetail();
- Types types = (Types) entryContext.getEntry().getEntryDetail();
- List exts = null;
- //if (def.getTypes() != null)
- if (types != null)
- //exts = def.getTypes().getExtensibilityElements();
- exts = types.getExtensibilityElements();
- if (exts != null)
- {
- Definition definition = null;
- if ((definition =
- validator.analyzerContext.getCandidateInfo().getDefinition(types))
- == null)
- {
- throw new WSIException("Could not find types definition in any WSDL document.");
- }
-
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement
- && el.getElementType().equals(ELEM_XSD_SCHEMA))
- searchForSchema(((UnknownExtensibilityElement) el).getElement(),
- definition.getDocumentBaseURI());
- }
- }
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else if (!importFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
- * @param n - node
- */
- private void searchForSchema(Node n, String context)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- // if xsd:schema element is found -> process schema
- if (XMLUtils.equals(n, ELEM_XSD_SCHEMA))
- {
- processSchema(n, context);
- }
- else
- {
- // if xsd:import element is found -> load schema and process schema
- if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- importFound = true;
- loadSchema(n, context);
- }
- else
- // else iterate element recursively
- searchForSchema(n.getFirstChild(), context);
- }
- }
- n = n.getNextSibling();
- }
- }
-
- /*
- * It loads xsd schema and then check valid encoding and looking for xsd:schema element for next process.
- * @param importNode - xsd schema
- */
- private void loadSchema(Node importNode, String context)
- {
- Element im = (Element) importNode;
- Attr schemaLocation = XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
- // try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- try
- {
- // if any error or root element is not XSD schema -> error
- String decl =
- readXMLDeclarationStatement(schemaLocation.getValue(), context);
- if (!validDeclaration(decl,
- ENCODING_TOKEN,
- new String[] { UTF_8_ENCODING, UTF_16_ENCODING }))
- {
- Attr a = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
- errors.add((a != null) ? a.getValue() : "");
- }
-
- if (!validDeclaration(decl, "version", new String[] { "1.0" }))
- {
- errors.add(
- "Version number in XML declaration is not 1.0. XML schema file: "
- + schemaLocation.getValue());
- }
-
- // DEBUG:
- // System.out.println(schemaLocation.getValue() + ":" + context);
-
- Document schema =
- validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
-
- if (XMLUtils.equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- {
- processSchema(schema.getDocumentElement(),
- XMLUtils.createURLString(schemaLocation.getValue(), context));
- }
- result = result = AssertionResult.RESULT_PASSED;
- }
- catch (Throwable t)
- {
- }
- }
-
- /**
- * Reads an XML declaration statement.
- * @param location
- * @return String
- */
- private String readXMLDeclarationStatement(String location, String baseURI)
- {
- String result = null;
- try
- {
- new URL(location);
- }
- catch (Throwable t)
- {
- // nothing
- int i = baseURI.lastIndexOf('/');
- int j = baseURI.lastIndexOf('\\');
- if (j > i)
- i = j;
- location = baseURI.substring(0, i + 1) + location;
- }
-
- if (location != null)
- {
- URL url = null;
- Reader reader = null;
-
- try
- {
- try
- {
- url = new URL(location);
- }
- catch (MalformedURLException e)
- {
- // we should try to access location as file
- }
-
- if (url != null)
- {
- reader = new InputStreamReader(url.openStream());
- }
- else
- {
- reader = new InputStreamReader(new FileInputStream(location));
- }
-
- int charCode;
- boolean end = false;
- if (reader.ready())
- {
- charCode = reader.read();
-
- while (reader.ready() && !(charCode == '<'))
- {
- charCode = reader.read();
- }
-
- StringBuffer buf = new StringBuffer();
- if (charCode == '<')
- {
- buf.append((char) charCode);
- while (reader.ready() && !end)
- {
- charCode = reader.read();
- buf.append((char) charCode);
-
- end = charCode == '>';
- }
- }
- else
- {
- // NOTE: This result does not get propogated back!
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- "Cannot read the XML declaration statement.";
- }
-
- result = buf.toString();
- }
- }
- catch (Exception e)
- {
- errors.add(e.getMessage());
- }
- finally
- {
- if (reader != null)
- {
- try
- {
- reader.close();
- }
- catch (Throwable e)
- {
- }
- }
- }
- }
-
- return result;
- }
-
- /*
- * @param xmlDecl - xml declaration
- * @return if xml declaration contains encoding="utf-16" or encoding="utf-8" it retirns true.
- */
-
- //private boolean validEncoding(String xmlDecl)
- //{
- // //boolean result = false;
- // boolean result = true;
- // if (xmlDecl != null)
- // {
- // StringTokenizer st =
- // new StringTokenizer(
- // OMMITED_XML_DECLARATION_DELIMITERS,
- // XML_DECLARATION_DELIMITERS);
- // Enumeration tokens = st.parse(xmlDecl);
- // boolean found = false;
- // while (tokens.hasMoreElements() && !found)
- // {
- // String token = (String) tokens.nextElement();
- //
- // if (token.equals(ENCODING_TOKEN))
- // {
- // found = true;
- //
- // tokens.nextElement();
- // String enc = (String) tokens.nextElement();
- //
- // result =
- // UTF_8_ENCODING.equalsIgnoreCase(enc)
- // || UTF_16_ENCODING.equalsIgnoreCase(enc);
- // }
- // }
- // }
- //
- // return result;
- //}
-
- /**
- * @param xmlDecl - xml declaration
- * @return if xml declaration contains valid version number then true is returned.
- */
- private boolean validDeclaration(
- String xmlDecl,
- String tokenName,
- String[] checkValueList)
- {
- //boolean result = false;
- boolean result = true;
- if (xmlDecl != null)
- {
- StringTokenizer st =
- new StringTokenizer(
- OMMITED_XML_DECLARATION_DELIMITERS,
- XML_DECLARATION_DELIMITERS);
- Enumeration tokens = st.parse(xmlDecl);
-
- if (tokens.hasMoreElements())
- {
- boolean found = false;
- while (tokens.hasMoreElements() && !found)
- {
- String token = (String) tokens.nextElement();
-
- if (token.equals(tokenName))
- {
- found = true;
- result = false;
-
- tokens.nextElement();
- String tokenValue = (String) tokens.nextElement();
-
- for (int i = 0; i < checkValueList.length && !result; i++)
- {
- if (checkValueList[i].equalsIgnoreCase(tokenValue))
- result = true;
- }
- }
- }
- }
-
- // If there are no tokens then it is not a valid declaraction
- else
- {
- result = false;
- }
- }
-
- return result;
- }
-
- /*
- * It's looking for xsd import and load it if find.
- * @param schema - xsd schema
- * @param namespace - namespace of schema
- */
- private void processSchema(Node schema, String context)
- {
- Node n = schema.getFirstChild();
- while (n != null)
- {
- if (Node.ELEMENT_NODE == n.getNodeType()
- && XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- importFound = true;
- loadSchema(n, context);
- }
-
- n = n.getNextSibling();
- }
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java
deleted file mode 100644
index c35963300..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2208.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Operation;
-import javax.wsdl.OperationType;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2208.
- * <context>For a candidate wsdl:operation in a wsdl:portType definition</context>
- * <assertionDescription>The wsdl:operation element is either a WSDL request/response or a one-way operation (no Notification or Sollicit-Response).</assertionDescription>
- */
-public class BP2208 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2208(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Operation operation =
- (Operation) entryContext.getEntry().getEntryDetail();
- OperationType opType = operation.getStyle();
- if ((opType == null)
- || (!opType.equals(OperationType.ONE_WAY)
- && !opType.equals(OperationType.REQUEST_RESPONSE)))
- {
- result = AssertionResult.RESULT_FAILED;
- if (opType == null)
- failureDetail =
- this.validator.createFailureDetail(
- "Could not determine the operation type for "
- + operation.getName()
- + ".",
- entryContext);
- else
- failureDetail = null; // none defined in TAD at present
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java
deleted file mode 100644
index 74f3da49e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2402.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2402.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The wsdl:binding element has a soapbind:binding child element.</assertionDescription>
- */
-public class BP2402 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2402(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- // Get the port from the entry context
- //Port port = (Port) entryContext.getEntry().getEntryDetail();
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Try to get the SOAP binding
- SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
-
- // Test the assertion
- // Check that there is at least one SOAP Binding
- if (soapBinding != null)
- {
- result = AssertionResult.RESULT_PASSED;
- failureDetail = null;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java
deleted file mode 100644
index 688e8d506..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2404.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBinding;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2404.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The contained soap:binding element has a "transport" attribute, which has value: http://schemas.xmlsoap.org/soap/http.</assertionDescription>
- */
-public class BP2404 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2404(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- result = AssertionResult.RESULT_PASSED;
-
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Try to get the SOAP binding
- SOAPBinding soapBinding = WSDLValidatorImpl.getSoapBinding(binding);
-
- // Test the assertion
- // Check for Soap binding namespace
- if ((soapBinding == null)
- || (soapBinding.getTransportURI() == null)
- || !soapBinding.getTransportURI().equals(WSIConstants.NS_URI_SOAP_HTTP))
- {
- result = AssertionResult.RESULT_FAILED;
- this.validator.createFailureDetail(
- soapBinding == null
- ? "WSDL document does not contain SOAP binding element."
- : soapBinding.toString(),
- entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java
deleted file mode 100644
index 9d5d8ed2a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2406.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2406.
- * <context>For a candidate wsdl:binding element, if the use attribute is specified on the soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements.</context>
- * <assertionDescription>The use attribute has a value of "literal".</assertionDescription>
- */
-public class BP2406 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2406(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // Get the binding from the entry context
- Binding binding = (Binding) entryContext.getEntry().getEntryDetail();
-
- // Get SOAP body elements
- SOAPBody[] soapBodies = this.validator.getSoapBodies(binding);
-
- // ADD: What happens if there are no soap body elements? Right now the TA result is NA.
-
- // Test the assertion
- // Check for correct use value
- for (int i = 0; i < soapBodies.length; i++)
- {
- SOAPBody soapBody = soapBodies[i];
- if (soapBody.getUse() != null
- && !soapBody.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(soapBody.toString(), entryContext);
- break;
- }
- }
-
- // Get SOAP fault elements
- SOAPFault[] soapFaults = this.validator.getSoapFaults(binding);
-
- // Test the assertion
- // Check for correct use value
- for (int i = 0; i < soapFaults.length; i++)
- {
- SOAPFault soapFault = soapFaults[i];
- if (soapFault.getUse() != null
- && !soapFault.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- (failureDetailMessage == null
- ? soapFault.toString()
- : failureDetailMessage + "\n\n" + soapFault.toString());
- if (failureDetail == null)
- failureDetail =
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- else
- failureDetail.setFailureMessage(failureDetailMessage);
- break;
- }
- }
-
- // Get SOAP header elements
- SOAPHeader[] soapHeaders = this.validator.getSoapHeaders(binding);
-
- // Test the assertion
- // Check for correct use value
- for (int i = 0; i < soapHeaders.length; i++)
- {
- SOAPHeader soapHeader = soapHeaders[i];
- if (soapHeader.getUse() != null
- && !soapHeader.getUse().equals(WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- (failureDetailMessage == null
- ? soapHeader.toString()
- : failureDetailMessage + "\n\n" + soapHeader.toString());
- if (failureDetail == null)
- failureDetail =
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- else
- failureDetail.setFailureMessage(failureDetailMessage);
- break;
- }
- }
-
- // Get SOAP header fault elements
- SOAPHeaderFault[] soapHeaderFaults = this.validator.getSoapHeaderFaults(binding);
-
- // Test the assertion
- // Check for correct use value
- for (int i = 0; i < soapHeaderFaults.length; i++)
- {
- SOAPHeaderFault soapHeaderFault = soapHeaderFaults[i];
- if (soapHeaderFault.getUse() != null
- && !soapHeaderFault.getUse().equals(
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage =
- (failureDetailMessage == null
- ? soapHeaderFault.toString()
- : failureDetailMessage + "\n\n" + soapHeaderFault.toString());
- if (failureDetail == null)
- failureDetail =
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- else
- failureDetail.setFailureMessage(failureDetailMessage);
- break;
- }
- }
-
- // If the result is passed, but there was nothing to check then set to notApplicable
- if (result == AssertionResult.RESULT_PASSED
- && (soapBodies == null || soapBodies.length == 0)
- && (soapFaults == null || soapFaults.length == 0)
- && (soapHeaders == null || soapHeaders.length == 0)
- && (soapHeaderFaults == null || soapHeaderFaults.length == 0))
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java
deleted file mode 100644
index 1a1eba328..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2416.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Input;
-import javax.wsdl.Operation;
-import javax.wsdl.Output;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
-* BP2416.
-* <context>For a candidate wsdl:definitions</context>
-* <assertionDescription>Every QName in the WSDL document and its imports, is referencing an element in a namespace that has either been imported or defined in the WSDL document that contains the reference.</assertionDescription>
-*/
-public class BP2416 extends AssertionProcessVisitor
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2416(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private static final String NS_LIST_KEY = "namespaces";
-
- /**
- * Checks whether the namespace is defined or imported in the definition.
- * @param qname
- * @param ctx
- */
- private void checkNamespace(QName qname, WSDLTraversalContext ctx)
- {
- if (qname != null)
- {
- String namespace = qname.getNamespaceURI();
-
- if (namespace != null)
- {
- List namespaces = (List) ctx.getParameter(NS_LIST_KEY);
-
- if (!namespaces.contains(namespace))
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = namespace;
-
- ctx.cancelProcessing();
- }
- } // ??? should we do something otherwise
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Port, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Port port, Object parent, WSDLTraversalContext ctx)
- {
- if (port != null)
- {
- Binding binding = port.getBinding();
- if (binding != null)
- {
- checkNamespace(binding.getQName(), ctx);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Binding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Binding binding, Object parent, WSDLTraversalContext ctx)
- {
- if (binding != null)
- {
- PortType pType = binding.getPortType();
- if (pType != null)
- {
- checkNamespace(pType.getQName(), ctx);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- Operation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (operation != null)
- {
- Input input = operation.getInput();
- if (input != null && input.getMessage() != null)
- {
- checkNamespace(input.getMessage().getQName(), ctx);
- }
-
- Output output = operation.getOutput();
- if (output != null && output.getMessage() != null)
- {
- checkNamespace(output.getMessage().getQName(), ctx);
- }
-
- Map faults = operation.getFaults();
- for (Iterator iter = faults.values().iterator(); iter.hasNext();)
- {
- Fault fault = (Fault) iter.next();
-
- if (fault.getMessage() != null)
- {
- checkNamespace(fault.getMessage().getQName(), ctx);
- }
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- /* REMOVE: This is already done in WSI2417
- public void visit(Message message, Object parent, WSDLTraversalContext ctx) {
- if (message != null) {
- Map parts = message.getParts();
- for (Iterator iter = parts.values().iterator(); iter.hasNext();) {
- Part part = (Part) iter.next();
-
- checkNamespace(part.getElementName(), ctx);
- checkNamespace(part.getTypeName(), ctx);
- }
- }
- }
- */
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Get the definition from the entry context
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- // get list of namespaces imported and defined in the definition
- List namespaces = this.validator.getWSDLTargetNamespaceList(definition);
-
- // REMOVE:
- //Map namespaces = definition.getNamespaces();
-
- // traverse definition to check namespaces
- Map params = new HashMap();
- params.put(NS_LIST_KEY, namespaces);
-
- WSDLTraversal traversal = new WSDLTraversal();
- // VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.visitBinding(true);
- traversal.visitMessage(true);
- traversal.visitPort(true);
-
- traversal.ignoreImport();
- traversal.ignoreReferences();
- traversal.traverse(definition, params);
-
- if (result.equals(AssertionResult.RESULT_FAILED))
- {
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java
deleted file mode 100644
index 1743d4995..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2417.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Part;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
- * BP2417.
- * <context>For a candidate wsdl:definitions</context>
- * <assertionDescription>Every QName in the WSDL document and its imports and that
- * is referring to a schema component, uses the namespace defined in the targetNamespace
- * attribute on the xs:schema element, or a namespace defined in the namespace attribute
- * on an xs:import element within the xs:schema element.</assertionDescription>
- */
-public class BP2417 extends AssertionProcessVisitor
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2417(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errorList = new ErrorList();
- private static final String NS_LIST_KEY = "namespaces";
-
- /**
- * Checks whether the namespace is defined or imported in the definition.
- * @param qname
- * @param ctx
- */
- private void checkNamespace(QName qname, WSDLTraversalContext ctx)
- {
- if (qname != null)
- {
- String namespace = qname.getNamespaceURI();
-
- if (namespace != null)
- {
- List namespaceList = (List) ctx.getParameter(NS_LIST_KEY);
-
- if ((namespaceList != null) && !namespaceList.contains(namespace))
- {
- errorList.add(qname);
- }
- }
- }
- }
-
- /**
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Message message, Object parent, WSDLTraversalContext ctx)
- {
- if (message != null)
- {
- Map parts = message.getParts();
-
- for (Iterator iter = parts.values().iterator(); iter.hasNext();)
- {
- Part part = (Part) iter.next();
-
- checkNamespace(part.getElementName(), ctx);
- checkNamespace(part.getTypeName(), ctx);
- }
- }
- }
-
- /**
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Get the definition from the entry context
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- // Get a list of all schema targetNamespaces
- List tnsList = null;
- try
- {
- if ((tnsList = this.validator.getSchemaNamespaceList(definition)) == null)
- tnsList = new Vector();
- }
-
- catch (WSIException e)
- {
- // This exception would indicate that the schema definition had a problem
- tnsList = new Vector();
- }
-
- // Always add XML schema namespace to cover built-in types
- tnsList.add(WSIConstants.NS_URI_XSD);
-
- // Traverse definition to check schema namespaces
- Map params = new HashMap();
- params.put(NS_LIST_KEY, tnsList);
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
- traversal.visitMessage(true);
-
- traversal.ignoreImport();
- traversal.ignoreReferences();
- traversal.traverse(definition, params);
-
- // If there were no errors, then the assertion passed
- if (errorList.isEmpty())
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- // Otherwise it failed / create the failure detail using the QNames that were in error
- else
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errorList.toString(), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java
deleted file mode 100644
index bbf231226..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2700.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.xml.sax.SAXException;
-
-/**
- * BP2700.
- * <context>For a candidate wsdl:definitions element within a WSDL document.</context>
- * <assertionDescription>The wsdl:definitions is a well-formed XML 1.0 document.</assertionDescription>
- */
-public class BP2700 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2700(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- result = AssertionResult.RESULT_PASSED;
-
- try
- {
- //String wsdlURI = entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI();
- // TEMP: Need to define a better way to get the WSDL URI
- String wsdlURI = entryContext.getEntry().getReferenceID();
- // non-validating parse
- XMLUtils.parseXMLDocument(wsdlURI);
- }
-
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- Utils.getExceptionDetails(e.getTargetException()),
- entryContext);
- }
- }
-
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(Utils.getExceptionDetails(e), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java
deleted file mode 100644
index 124c1f99a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2701.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Definition;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2701.
- * <context>For a candidate wsdl:definitions element within a WSDL document.</context>
- * <assertionDescription>The wsdl:definitions namespace has value: http://schemas.xmlsoap.org/wsdl/.</assertionDescription>
- */
-public class BP2701 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2701(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- Definition def = (Definition) entryContext.getEntry().getEntryDetail();
-
- /*
- if (def != null) {
- QName qname = def.getQName();
-
- if (qname != null) {
- //if (def.getNamespace("").equals(WSIConstants.NS_URI_WSDL) {
- if (qname.getNamespaceURI().equals(WSIConstants.NS_URI_WSDL)) {
- result = AssertionResult.RESULT_PASSED;
- }
- }
- }
- */
-
- try
- {
- String schemaUsed = this.validator.getSchemaUsed(def);
- if (schemaUsed.equals(WSIConstants.NS_URI_WSDL))
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- else
- {
- result = AssertionResult.RESULT_FAILED;
- }
- }
-
- catch (AssertionFailException e)
- {
- result = AssertionResult.RESULT_FAILED;
- //ADD: failure description?
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java
deleted file mode 100644
index e23a69c95..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2703.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.wsdl.Definition;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.xml.sax.SAXException;
-
-
-/**
- * BP2703.
- * <context>For a candidate description within a WSDL document, if it uses the WSDL namespace</context>
- * <assertionDescription>The definition conforms to the WSDL schema located at http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd</assertionDescription>
- */
-public class BP2703 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2703(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- result = AssertionResult.RESULT_PASSED;
-
- try
- {
- Definition def = (Definition) entryContext.getEntry().getEntryDetail();
-
- if (def == null)
- {
- throw new AssertionFailException("Definition null");
- }
-
- String wsdlURI = entryContext.getEntry().getReferenceID();
-
- Map namespaces = def.getNamespaces();
- for (Iterator iter = namespaces.values().iterator(); iter.hasNext();)
- {
- String ns = (String) iter.next();
-
- if (WSIConstants.NS_URI_WSDL.equalsIgnoreCase(ns))
- {
- XMLUtils.parseXMLDocument(wsdlURI, TestUtils.getWSDLSchemaLocation());
- }
-
- if (WSIConstants.NS_URI_WSDL_SOAP.equalsIgnoreCase(ns))
- {
- XMLUtils.parseXMLDocument(wsdlURI, TestUtils.getWSDLSOAPSchemaLocation());
- }
- }
- }
-
- catch (WSIException e)
- {
- if (e.getTargetException() instanceof SAXException)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(
- Utils.getExceptionDetails(e.getTargetException()),
- entryContext);
- }
- }
-
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail =
- this.validator.createFailureDetail(Utils.getExceptionDetails(e), entryContext);
- }
-
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java
deleted file mode 100644
index a2602a2a8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2803.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.net.URI;
-
-import javax.wsdl.Import;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionNotApplicableException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-
-
-/**
- * BP2803
- * <context>For a candidate wsdl:import element</context>
- * <assertionDescription>The "namespace" attribute is specified for the wsdl:import element, and the attribute's value is not a relative URI.</assertionDescription>
- */
-public class BP2803 extends AssertionProcess
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2803(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
-
- // Getting wsdl:import
- Import im = (Import) entryContext.getEntry().getEntryDetail();
-
- try
- {
- // If there is no the "namespace" attribute in the import,
- // the assertion is not applicable
- if (im.getNamespaceURI() == null)
- {
- throw new AssertionNotApplicableException();
- }
-
- // If a namespace URI is relative or invalid, the assertion failed
- URI uri = new URI(im.getNamespaceURI());
- if (!uri.isAbsolute())
- {
- throw new AssertionFailException(
- im.getNamespaceURI() + " is relative URI.");
- }
- }
- catch (AssertionNotApplicableException anae)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- catch (Exception e)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = validator.createFailureDetail(
- e.getMessage(), entryContext);
- }
-
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java
deleted file mode 100644
index f2c73355b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4200.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-/**
- * BP4200.
- * <context>For a candidate wsdl:definitions that contains a wsdl extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/".</context>
- * <assertionDescription>Contained WSDL extension elements that do not belong to the "http://schemas.xmlsoap.org/wsdl/soap/" namespaces may require out of band negotiation.</assertionDescription>
-*/
-public class BP4200 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
- private ErrorList errorList = new ErrorList();
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP4200(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.ExtensibilityElement, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(ExtensibilityElement obj, Object parent,
- WSDLTraversalContext ctx)
- {
- // If a child element of wsdl:types is from a namespace other than
- // "http://www.w3.org/2001/XMLSchema"
- if (parent instanceof Types)
- {
- //if (!obj.getElementType().getNamespaceURI().equals(
- // WSIConstants.NS_URI_XSD))
- //{
- // Add element name to error list
- // errorList.add(obj.getElementType());
- //}
- }
- // or any other ext element coming from a namespace other than
- // "http://schemas.xmlsoap.org/wsdl/soap/"
- else if (!obj.getElementType().getNamespaceURI().equals(WSIConstants.NS_URI_WSDL_SOAP)
- && !obj.getElementType().getNamespaceURI().equals(WSIConstants.NS_URI_WSDL))
- {
- // Add element name to error list
- errorList.add(obj.getElementType());
- }
- }
-
- /**
- * (non-Javadoc)
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(TestAssertion testAssertion,
- EntryContext entryContext) throws WSIException
- {
- // Get the definition from the entry context
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
-
- traversal.visitExtensibilityElement(true);
- traversal.visitElement(true);
-
- traversal.ignoreImport();
- traversal.ignoreReferences();
- traversal.traverse(definition);
-
- try
- {
- // getting WSDL document.
- Document doc = XMLUtils.parseXMLDocument(definition.getDocumentBaseURI());
- if (doc != null)
- {
- checkElement(doc.getDocumentElement());
-
- if (errorList.isEmpty())
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- {
- failureDetail = validator.createFailureDetail(
- testAssertion.getDetailDescription() + "\n\n" + errorList.toString(),
- entryContext);
- }
- }
- }
- catch (Throwable t)
- {
- }
- // Return assertion result
- return validator.createAssertionResult(
- testAssertion, result, failureDetail);
- }
-
- /**
- * Checking on wsdl elements recursively whether they contain extension attributes.
- * @param elem Element.
- */
- private void checkElement(Element elem)
- {
- while (elem != null)
- {
- String elemNS = elem.getNamespaceURI();
- NamedNodeMap attrs = elem.getAttributes();
- if (attrs != null)
- {
- for (int i = 0; i < attrs.getLength(); i++)
- {
- Attr attr = (Attr) attrs.item(i);
- String attrNS = attr.getNamespaceURI();
- if (attrNS != null
- && !attrNS.equals(WSIConstants.NS_URI_XMLNS)
- && !attrNS.equals(WSIConstants.NS_URI_WSDL)
- && !attrNS.equals(WSIConstants.NS_URI_WSDL_SOAP))
- {
- errorList.add("Extensibility attribute " + attr.getName()
- + "for the " + elem.getNodeName() + " element is found.");
- }
- }
- }
-
- if (!elemNS.equals(WSIConstants.NS_URI_XSD))
- {
- checkElement(XMLUtils.getFirstChild(elem));
- }
- elem = XMLUtils.getNextSibling(elem);
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java
deleted file mode 100644
index 21f131f16..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4201.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.net.URISyntaxException;
-import java.util.Iterator;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Import;
-import javax.wsdl.Port;
-import javax.wsdl.extensions.soap.SOAPAddress;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-
-
-/**
-* BP4201.
-* <context>For a candidate wsdl:import element, where the location attribute or the namespace attribute has a value that is a relative URI, or a for soap:address element where the location attribute is a relative URI.</context>
-* <assertionDescription>The use of a relative URI as the value for a wsdl:import location or namespace attribute, or for a soap:address location attribute may require out of band coordination.</assertionDescription>
-*/
-public class BP4201 extends AssertionProcessVisitor
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP4201(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
- private ErrorList errorList = new ErrorList();
-
- /**
- * (non-Javadoc)
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(Import, Object, WSDLTraversalContext)
- */
- public void visit(Import obj, Object parent, WSDLTraversalContext ctx)
- {
- if(obj != null)
- {
- if(isRelativeURI(obj.getNamespaceURI()) ||
- isRelativeURI(obj.getLocationURI()))
- {
- errorList.add(obj.getNamespaceURI(), obj.getLocationURI());
- }
- }
- }
-
- /**
- * (non-Javadoc)
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(Port, Object, WSDLTraversalContext)
- */
- public void visit(Port obj, Object parent, WSDLTraversalContext ctx)
- {
- if(obj != null)
- {
- Iterator it = obj.getExtensibilityElements().iterator();
- while (it.hasNext())
- {
- Object e = (Object) it.next();
- // for each SOAPAddress elements check LocationURI
- if(e instanceof SOAPAddress) {
- if(isRelativeURI(((SOAPAddress) e).getLocationURI()))
- {
- errorList.add(((SOAPAddress) e).getElementType() +
- ":" + ((SOAPAddress) e).getLocationURI());
- }
- }
- }
- }
- }
-
- /**
- * (non-Javadoc)
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Get the definition from the entry context
- Definition definition =
- (Definition) entryContext.getEntry().getEntryDetail();
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
- traversal.visitImport(true);
- traversal.visitPort(true);
- traversal.ignoreReferences();
- traversal.traverse(definition);
-
- if (errorList.isEmpty())
- {
- return validator.createAssertionResult(testAssertion,
- AssertionResult.RESULT_NOT_APPLICABLE, (String) null);
- }
-
- failureDetail = this.validator.createFailureDetail(testAssertion.getFailureMessage() +
- "\n\n" + errorList.toString(), entryContext);
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
- /**
- * Returns true if URI is relative
- * @param s - URI
- * @return true - if URI is relative, false - in other case
- */
- private boolean isRelativeURI(String s)
- {
- if(s == null)
- return false;
- try
- {
- if(new java.net.URI(s).isAbsolute())
- {
- return false;
- }
- } catch (URISyntaxException e)
- {
- return false;
- }
- return true;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java
deleted file mode 100644
index 63791e0f1..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP4202.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.schema.XMLSchemaProcessor;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP4202.
- * <context>For an XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, which contains any schema annotation elements.</context>
- * <assertionDescription>An XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, may use schema annotation elements as an extensibility mechanism.</assertionDescription>
- */
- public class BP4202 extends AssertionProcessVisitor implements WSITag
- {
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP4202(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private static final String ANNOTATION_KEY = "annotation";
-
- private ErrorList errorList = new ErrorList();
- private AnnotationProcessor processor;
-
- /**
- * (non-Javadoc)
- * @see org.eclipse.wst.wsi.wsdl.traversal.WSDLVisitor#visit(Message, Object, WSDLTraversalContext)
- */
- public void visit(ExtensibilityElement obj, Object parent, WSDLTraversalContext ctx)
- {
- if((obj != null) && (obj instanceof UnknownExtensibilityElement))
- {
- UnknownExtensibilityElement el = (UnknownExtensibilityElement) obj;
- try {
- processor.processAllSchema(el.getElement());
- } catch (WSIException e) {}
- }
- }
-
- /**
- * (non-Javadoc)
- * @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // Get the types from the entry context
- Types types =
- (Types) entryContext.getEntry().getEntryDetail();
-
- processor = new AnnotationProcessor(
- entryContext.getWSDLDocument().getDefinitions().getDocumentBaseURI());
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
- traversal.visitExtensibilityElement(true);
- traversal.ignoreReferences();
- traversal.traverse(types);
-
- if (errorList.isEmpty())
- {
- return validator.createAssertionResult(testAssertion,
- AssertionResult.RESULT_NOT_APPLICABLE, (String) null);
- }
-
- failureDetail = this.validator.createFailureDetail(testAssertion.getFailureMessage() +
- "\n\n" + errorList.toString(), entryContext);
- // Return assertion result
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Class for parse schema and search annotation elements
- */
- class AnnotationProcessor extends XMLSchemaProcessor
- {
- public AnnotationProcessor(String context)
- {
- super(context, false);
- }
-
- protected void processSchema(Element element)
- {
- checkForAnnotation(element);
- }
-
- private void checkForAnnotation(Node node)
- {
- if((node.getLocalName() != null) && (node.getLocalName().equals(ANNOTATION_KEY))) {
- errorList.add(node.toString());
- }
- for (int i = 0; i < node.getChildNodes().getLength(); i++)
- {
- checkForAnnotation(node.getChildNodes().item(i));
- }
- }
- }
- } \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java
deleted file mode 100644
index 4c4dd0f25..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2209.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-
-/**
- * SSBP2209
- *
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>The wsdl:binding binds every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault.</assertionDescription>
- */
-public class SSBP2209 extends BP2114
-{
- /**
- * @param WSDLValidatorImpl
- */
- public SSBP2209(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java
deleted file mode 100644
index 9291f3660..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2402.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * SSBP2402
- */
-public class SSBP2402 extends BP2402
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public SSBP2402(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java
deleted file mode 100644
index 041320f33..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/SSBP2403.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLTraversal;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * SSBP2403.
- * <context>For a candidate wsdl:binding element</context>
- * <assertionDescription>Descendant elements and attributes in the wsdl:binding are not from the namespaces for the WSDL MIME, HTTP GET/POST or DIME binding extensions.</assertionDescription>
- */
-public class SSBP2403 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public SSBP2403(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
-
- private ErrorList errors = new ErrorList();
-
- /**
- * Returns true if the the namespace specifies any WSDL MIME,
- * HTTP GET/POST or DIME binding extensions.
- * @param namespace a namespace.
- * @return true if the the namespace specifies any WSDL MIME,
- * HTTP GET/POST or DIME binding extensions.
- */
- private boolean isNonConformantBindingExtension(String namespace)
- {
- boolean result = false;
- if (namespace != null)
- {
- if (namespace.equals(WSIConstants.NS_NAME_WSDL_MIME)
- || namespace.equals(WSIConstants.NS_NAME_WSDL_HTTP)
- || namespace.equals(WSIConstants.NS_NAME_WSDL_DIME))
- result = true;
- }
- return result;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.extensions.ExtensibilityElement, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- ExtensibilityElement exel,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (isNonConformantBindingExtension(exel
- .getElementType()
- .getNamespaceURI()))
- errors.add(exel.getElementType());
- else
- {
- // extensibility element is ok, check the descendants
- if (exel instanceof UnknownExtensibilityElement)
- {
- Element el = ((UnknownExtensibilityElement) exel).getElement();
-
- // traverse all of the descendants and check for non compliant binding extensions
- XMLTraversalCheckingExtensions traversal =
- new XMLTraversalCheckingExtensions();
- traversal.visit(el);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- traversal.setVisitor(this);
- traversal.visitElement(true);
- traversal.visitExtensibilityElement(true);
-
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Binding) entryContext.getEntry().getEntryDetail());
-
- if (!errors.isEmpty())
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- }
-
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
-
- /**
- * A specialized XMLTraversal class to check if the wsdl:binding element has any
- * descendant elements/attributes from the namespaces for the WSDL MIME,
- * HTTP GET/POST or DIME binding extensions.
- */
- private class XMLTraversalCheckingExtensions extends XMLTraversal
- {
- boolean nonConformantExtensionFound = false;
-
- /* (non-Javadoc)
- * @see org.wsi.xml.XMLTraversal#action(org.w3c.dom.Node)
- */
- public boolean action(Node n)
- {
- return !nonConformantExtensionFound;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.xml.XMLVisitor#visit(org.w3c.dom.Attr)
- */
- public void visit(Attr node)
- {
- if (action(node))
- {
- if (isNonConformantBindingExtension(node.getNamespaceURI()))
- {
- errors.add(node.getName());
- nonConformantExtensionFound = true;
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.xml.XMLVisitor#visit(org.w3c.dom.Element)
- */
- public void visit(Element node)
- {
- if (action(node))
- {
- if (isNonConformantBindingExtension(node.getNamespaceURI()))
- {
- errors.add(node.getNodeName());
- nonConformantExtensionFound = true;
- }
- else
- {
- // element is compliant, check attributes and descendants
- visit(node.getAttributes());
- for (Node n = node.getFirstChild();
- n != null;
- n = n.getNextSibling())
- {
- doVisit(n);
- }
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java
deleted file mode 100644
index 0ecafd75f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSDLValidatorImpl.java
+++ /dev/null
@@ -1,2314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.wsdl.Binding;
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.soap.SOAPBinding;
-import javax.wsdl.extensions.soap.SOAPBody;
-import javax.wsdl.extensions.soap.SOAPFault;
-import javax.wsdl.extensions.soap.SOAPHeader;
-import javax.wsdl.extensions.soap.SOAPHeaderFault;
-import javax.wsdl.extensions.soap.SOAPOperation;
-import javax.xml.namespace.QName;
-
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSIRuntimeException;
-import org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext;
-import org.eclipse.wst.wsi.internal.core.analyzer.AssertionFailException;
-import org.eclipse.wst.wsi.internal.core.analyzer.CandidateInfo;
-import org.eclipse.wst.wsi.internal.core.analyzer.ServiceReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.profile.ProfileArtifact;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.WSDLValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.BaseValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.Entry;
-import org.eclipse.wst.wsi.internal.core.report.EntryContainer;
-import org.eclipse.wst.wsi.internal.core.report.FailureDetail;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.Reporter;
-import org.eclipse.wst.wsi.internal.core.util.EntryType;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLElementList;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.dom.ElementLocation;
-import org.eclipse.wst.wsi.internal.core.xml.schema.TargetNamespaceProcessor;
-import org.eclipse.wst.wsi.internal.core.xml.schema.XMLSchemaValidator;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * The WSDL validator will verify that the WSDL and associated XML schema definitions
- * are in conformance with the profile.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @author Graham Turrell (gturrell@uk.ibm.com)
- */
-public class WSDLValidatorImpl
- extends BaseValidatorImpl
- implements WSDLValidator
-{
- /**
- * WSDL URL.
- */
- protected String wsdlURL;
-
- /**
- * WSDL document.
- */
- protected WSDLDocument wsdlDocument = null;
-
- /**
- * Entry container map.
- */
- protected HashMap containerMap = new HashMap();
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.WSDLValidator#init(org.eclipse.wst.wsi.internal.core.analyzer.AnalyzerContext, org.wsi.test.profile.ProfileArtifact, org.wsi.test.report.ReportArtifact, java.lang.String, org.wsi.wsdl.WSDLDocument, org.wsi.test.report.Reporter)
- */
- public void init(
- AnalyzerContext analyzerContext,
- ProfileArtifact profileArtifact,
- ReportArtifact reportArtifact,
- String wsdlURL,
- WSDLDocument wsdlDocument,
- Reporter reporter)
- throws WSIException
- {
- // BaseValidatorImpl
- super.init(analyzerContext, profileArtifact, reportArtifact, reporter);
- this.wsdlDocument = wsdlDocument;
- if (wsdlDocument != null)
- this.wsdlURL = wsdlDocument.getLocation();
-
- if (wsdlURL != null)
- this.wsdlURL = wsdlURL;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.WSDLValidator#validate()
- */
- public WSDLDocument validate() throws WSIException
- {
- //WSDLDocument wsdlDocument = null;
- Service service = null;
- Port port = null;
- Binding binding = null;
- PortType portType = null;
- Operation operation = null;
- Message message = null;
-
- // it depricated after refactoring
- // now the inner classes moved out from validator
- //String classPrefix = this.getClass().getName() + "$";
- String classPrefix = this.getClass().getPackage().getName()+".";
-
- try
- {
- // Validate the WSDL service description
- if (this.wsdlDocument == null)
- this.wsdlDocument = new WSDLDocument(wsdlURL);
- }
-
- catch (Exception e)
- {
- // ADD: Certain exceptions should result in validation errors
-
- throw new WSIException(e.getMessage(), e);
- }
-
- // Get the definition element
- Definition definition = wsdlDocument.getDefinitions();
-
- // Get service reference from analyzer context
- ServiceReference serviceReference = analyzerContext.getServiceReference();
-
- // Create normalized data about the service under test.
- CandidateInfo candidate = new CandidateInfo(serviceReference, wsdlDocument);
-
- analyzerContext.setCandidateInfo(candidate);
-
- // Set prereq type to entry container
- reporter.setPrereqType(Reporter.PREREQ_TYPE_ENTRY_CONTAINER);
-
- // always process Import, Definitions & Types assertions
- // TEMP:
- processDefinitionAssertions(classPrefix, candidate);
- processTypesAssertions(classPrefix, candidate);
- processImportAssertions(classPrefix, candidate);
-
- // Process the element hierarchy in the WSDL document starting with the one that was specified
- // FIX: Element finding already completed by CandidateInfo constructor - so use that rather than retest here
-
- // ---------------------------
- // wsdl:port
- // ---------------------------
- if (serviceReference.getWSDLElement().isPort())
- {
- // Find the service element
- if ((service =
- definition.getService(
- serviceReference.getWSDLElement().getParentElementQName()))
- == null)
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL service: "
- + serviceReference.getWSDLElement().getParentElementName());
- }
-
- // Find the port element
- if ((port = service.getPort(serviceReference.getWSDLElement().getName()))
- == null)
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL port: "
- + serviceReference.getWSDLElement().getName());
- }
-
- // TEMP: Remove until there are port test assertions
- //processPortAssertions(port, serviceReference, classPrefix, wsdlDocument);
-
- // Next, process the binding
- if (((binding = port.getBinding()) == null) || (binding.isUndefined()))
- {
- //throw new WSIRuntimeException("Could not locate WSDL binding for port: " + port.getName());
- // Set missingInput for all binding, portType, operation and message test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- processBindingAssertions(
- binding,
- serviceReference,
- classPrefix,
- wsdlDocument);
-
- // Next, process the portType
- if (((portType = binding.getPortType()) == null)
- || (portType.isUndefined()))
- {
- //throw new WSIRuntimeException("Could not locate WSDL portType for binding: " + binding.getQName().getLocalPart());
- // Set missingInput for all portType, operation and message test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- processMessageAssertions(
- binding,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processPortTypeAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processOperationAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processMessageAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
-
- }
-
- // ---------------------------
- // wsdl:binding
- // ---------------------------
- else if (serviceReference.getWSDLElement().isBinding())
- {
- WSDLElement wsdlElement = serviceReference.getWSDLElement();
- // Find the binding element
- if (wsdlElement.getQName() != null
- && wsdlElement.getQName().getLocalPart() != null
- && wsdlElement.getQName().getLocalPart().length() > 0)
- {
- if (((binding =
- definition.getBinding(serviceReference.getWSDLElement().getQName()))
- == null)
- || (binding.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL binding: "
- + serviceReference.getWSDLElement().getName());
- }
-
- processBindingAssertions(
- binding,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processMessageAssertions(
- binding,
- serviceReference,
- classPrefix,
- wsdlDocument);
-
- // Next, process the portType
- if (((portType = binding.getPortType()) == null)
- || (portType.isUndefined()))
- {
- //throw new WSIRuntimeException("Could not locate WSDL PortType for Binding: " + binding.getQName().getLocalPart());
-
- // Set missingInput for all portType, operation and message test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- processPortTypeAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processOperationAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
-
- // Process each message within each operation of the portType associated with the binding
- processMessageAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
-
- // There was a problem with the binding element specification. This can
- // happen when a UDDI tModel did not have a valid binding reference.
- else
- {
- // Set missingInput for all binding, portType, operation and message test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
- }
-
- // ---------------------------
- // wsdl:portType
- // ---------------------------
- else if (serviceReference.getWSDLElement().isPortType())
- {
- // Find the PortType element
- if (((portType =
- definition.getPortType(serviceReference.getWSDLElement().getQName()))
- == null)
- || (portType.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL PortType: "
- + serviceReference.getWSDLElement().getName());
- }
-
- // Set missingInput for all binding test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
-
- processPortTypeAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processOperationAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
-
- // Process each message within each operation of the portType
- processMessageAssertions(
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
-
- // ---------------------------
- // wsdl:operation
- // ---------------------------
- else if (serviceReference.getWSDLElement().isOperation())
- {
- // Find the operation
- // get portType from config parent element
- if (((portType =
- definition.getPortType(
- serviceReference.getWSDLElement().getParentElementQName()))
- == null)
- || (portType.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL portType: "
- + serviceReference.getWSDLElement().getParentElementQName());
- }
-
- if (((operation =
- getOperationFromPortType(
- portType,
- serviceReference.getWSDLElement().getName()))
- == null)
- || (operation.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL Operation: "
- + serviceReference.getWSDLElement().getName()
- + "in portType: "
- + portType.getQName());
- }
-
- // Set missingInput for all binding and portType test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
-
- processOperationAssertions(
- operation,
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- processMessageAssertions(
- operation,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
-
- // ---------------------------
- // wsdl:message
- // ---------------------------
- else if (serviceReference.getWSDLElement().isMessage())
- {
- // Find the message
- if (((message =
- definition.getMessage(serviceReference.getWSDLElement().getQName()))
- == null)
- || (message.isUndefined()))
- {
- throw new WSIRuntimeException(
- "Could not locate WSDL Message: "
- + serviceReference.getWSDLElement().getName());
- }
-
- // Set missingInput for all binding, portType, and operation test assertions
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
-
- processMessageAssertions(
- message,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
-
- else
- {
- throw new WSIRuntimeException(
- "The following WSDL type is not supported: "
- + serviceReference.getWSDLElement().getType());
- }
-
- // Cleanup
- cleanup();
-
- // Return WSDL document
- return this.wsdlDocument;
- }
-
- /**
- * Get entry container using the filename for WSDL document.
- * @param filename a file name.
- * @return entry container using the filename for WSDL document.
- */
- protected EntryContainer getEntryContainer(String filename)
- {
- EntryContainer entryContainer = null;
-
- // If the entry container already exists, then use it
- if ((entryContainer = (EntryContainer) containerMap.get(filename)) == null)
- {
- // Create new entry container
- entryContainer = this.reporter.createEntryContainer();
-
- // Set container id using the filename for the WSDL document
- entryContainer.setId(filename);
-
- // Put the new entry container into the container map
- containerMap.put(filename, entryContainer);
- }
-
- return entryContainer;
- }
-
- /**
- * Get operation from port type.
- * @param portType port type.
- * @param operationName operation name.
- * @return operation from port type.
- */
- protected Operation getOperationFromPortType(
- PortType portType,
- String operationName)
- {
- // FIX: wsdl4j available method call below implies that only
- // name+inputname+outputname uniquely defines operation
- // Use this instead for now: - get the first operation we find...
- Operation op = null;
- if (portType.getOperations() != null)
- {
- Iterator opIt = portType.getOperations().iterator();
-
- while (opIt.hasNext())
- {
- op = (Operation) opIt.next();
- if (operationName.equals(op.getName()))
- {
- return op;
- }
- }
- }
-
- return null; // no matching operation found
- }
-
- /**
- * Process definition assertions.
- * @param classPrefix class prefix.
- * @param candidate candidate.
- * @throws WSIException if problems occur during processing.
- */
- protected void processDefinitionAssertions(
- String classPrefix,
- CandidateInfo candidate)
- throws WSIException
- {
-
- Entry entry = null;
-
- Definition[] wsdlDefinitions = candidate.getDefinitions();
-
- for (int i = 0; i < wsdlDefinitions.length; i++)
- {
- Definition definition = wsdlDefinitions[i];
- if (definition == null)
- continue;
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_DEFINITIONS));
- entry.setReferenceID(definition.getDocumentBaseURI());
- entry.setEntryDetail(definition);
-
- // Set entry container
- entry.setEntryContainer(
- getEntryContainer(definition.getDocumentBaseURI()));
-
- // Process all of the definition related test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, candidate.getWsdlDocument()));
- // ADD: need to use here the specific document corresponding to the definition??
-
- }
- }
-
- /**
- * Process types assertions.
- * @param classPrefix class prefix.
- * @param candidate candidate.
- * @throws WSIException if problem occurs during processing
- * type assertions.
- */
- protected void processTypesAssertions(
- String classPrefix,
- CandidateInfo candidate)
- throws WSIException
- {
- Entry entry = null;
-
- Types[] wsdlTypes = candidate.getTypes();
- Definition[] wsdlDefinitions = candidate.getDefinitions();
-
- // If there are no types elements, then set all results to missingInput
- if (wsdlTypes == null || wsdlTypes.length == 0)
- {
- // Set missingInput for all test assertions with this entry type
- setMissingInput(EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_TYPES));
- }
-
- else
- {
- for (int i = 0; i < wsdlTypes.length; i++)
- {
- Types types = wsdlTypes[i];
- if (types == null)
- {
- // no Types element in i-th document
- continue;
- }
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_TYPES));
- entry.setReferenceID(
- candidate.getDefinition(types).getDocumentBaseURI() + "-Types");
- entry.setEntryDetail(types);
-
- // Set entry container
- entry.setEntryContainer(
- getEntryContainer(wsdlDefinitions[i].getDocumentBaseURI()));
-
- // Process all of the Types related test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, candidate.getWsdlDocument()));
- }
- }
- }
-
- /**
- * Process import assertions.
- * @param classPrefix class prefix.
- * @param candidate candidate.
- * @throws WSIException if problem occurs during processing
- * import assertions.
- */
- protected void processImportAssertions(
- String classPrefix,
- CandidateInfo candidate)
- throws WSIException
- {
-
- Entry entry = null;
-
- Import[] wsdlImports = candidate.getImports();
-
- // If there are no import elements, then set all results to missingInput
- if (wsdlImports == null || wsdlImports.length == 0)
- {
- // Set missingInput for all test assertions with this entry type
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_IMPORT));
- }
-
- else
- {
- for (int i = 0; i < wsdlImports.length; i++)
- {
- Import wsdlImport = wsdlImports[i];
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_IMPORT));
- entry.setReferenceID(wsdlImport.getNamespaceURI());
- entry.setEntryDetail(wsdlImport);
-
- // Set entry container
- entry.setEntryContainer(getEntryContainer(wsdlImport.getLocationURI()));
-
- // Process all of the import related test assertions
- processAssertions(
- classPrefix,
- new EntryContext(entry, candidate.getWsdlDocument()));
- // ADD: need to use here the specific document corresponding to the import!!
- }
- }
- }
-
- /**
- * Process port assertions.
- * @param port a port.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * port assertions.
- */
- protected void processPortAssertions(
- Port port,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- Entry entry = null;
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORT));
- entry.setReferenceID(port.getName());
- entry.setParentElementName(
- serviceReference.getWSDLElement().getParentElementName());
- entry.setEntryDetail(port);
-
- // Process assertions for this artifact against the target context
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process binding assertions.
- * @param binding binding.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * binding assertions.
- */
- protected void processBindingAssertions(
- Binding binding,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- Entry entry = null;
- QName bindingQName = binding.getQName();
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_BINDING));
- entry.setReferenceID(bindingQName.toString());
- entry.setEntryDetail(binding);
-
- // Set entry container
- Definition definition =
- analyzerContext.getCandidateInfo().getDefinition(binding);
- entry.setEntryContainer(
- getEntryContainer(
- (definition == null ? null : definition.getDocumentBaseURI())));
-
- // Process binding test assertions
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process port type assertions.
- * @param portType port type.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * port type assertions.
- */
- protected void processPortTypeAssertions(
- PortType portType,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
-
- Entry entry = null;
- QName portTypeQName = portType.getQName();
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_PORTTYPE));
- entry.setReferenceID(portTypeQName.toString());
- entry.setEntryDetail(portType);
-
- // Set entry container
- Definition definition =
- analyzerContext.getCandidateInfo().getDefinition(portType);
- entry.setEntryContainer(
- getEntryContainer(
- (definition == null ? null : definition.getDocumentBaseURI())));
-
- // Process test assertions
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process operation assertions.
- * @param operation an operation.
- * @param portType port type.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * operation assertions.
- */
- protected void processOperationAssertions(
- Operation operation,
- PortType portType,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- // qualify operation with service location from config.
- Entry entry = null;
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- entry.setReferenceID(operation.getName());
- entry.setParentElementName(portType.getQName().getLocalPart());
- entry.setEntryDetail(operation);
-
- // Set entry container
- Definition definition =
- analyzerContext.getCandidateInfo().getDefinition(portType);
- entry.setEntryContainer(
- getEntryContainer(
- (definition == null ? null : definition.getDocumentBaseURI())));
-
- // Process test assertions
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process operation assertions.
- * @param portType port type.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * operation assertions.
- */
- protected void processOperationAssertions(
- PortType portType,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- // For each operation,
- if (portType.getOperations() == null)
- {
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- }
-
- else
- {
- Operation operation;
- Iterator opIt = portType.getOperations().iterator();
- while (opIt.hasNext())
- {
- operation = (Operation) opIt.next();
- if (operation == null || operation.isUndefined())
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_OPERATION));
- else
- processOperationAssertions(
- operation,
- portType,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
- }
-
- /**
- * Process message assertions.
- * @param message a message.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * message assertions.
- */
- protected void processMessageAssertions(
- Message message,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
-
- Entry entry = null;
- QName messageQName = message.getQName();
-
- // Create entry
- entry = this.reporter.getReport().createEntry();
- entry.setEntryType(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- entry.setReferenceID(messageQName.toString());
- entry.setEntryDetail(message);
-
- // Set entry container
- Definition definition =
- analyzerContext.getCandidateInfo().getDefinition(message);
- entry.setEntryContainer(
- getEntryContainer(
- (definition == null ? null : definition.getDocumentBaseURI())));
-
- // Process binding test assertions
- processAssertions(classPrefix, new EntryContext(entry, wsdlDocument));
- }
-
- /**
- * Process message assertions.
- * @param binding a binding.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * message assertions.
- */
- protected void processMessageAssertions(
- Binding binding,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
- HashSet messageSet;
-
- if (binding.getBindingOperations() != null)
- { // can do nothing if have no operations defined
- messageSet =
- WSDLUtils.findMessages(wsdlDocument.getDefinitions(), binding);
-
- // Process any messages that were found
- if (messageSet.size() > 0)
- {
- Iterator messageIt = messageSet.iterator();
- while (messageIt.hasNext())
- {
- Message message = (Message) messageIt.next();
- if (!message.isUndefined())
- processMessageAssertions(
- message,
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
- }
- }
-
- /**
- * Process message assertions.
- * @param portType port type.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * message assertions.
- */
- protected void processMessageAssertions(
- PortType portType,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
-
- HashSet messageSet = new HashSet();
-
- if (portType.getOperations() != null)
- {
- // can do nothing if have no operations defined
-
- Iterator opIt = portType.getOperations().iterator();
-
- while (opIt.hasNext())
- {
- Operation op = (Operation) opIt.next();
-
- // Since there is no guarantee that we have both and input and output message,
- // check for its existence before adding it
- if (op.getInput() != null && !op.getInput().getMessage().isUndefined())
- messageSet.add(op.getInput().getMessage());
-
- if (op.getOutput() != null
- && !op.getOutput().getMessage().isUndefined())
- messageSet.add(op.getOutput().getMessage());
-
- // also messages from any Faults defined within the operation
- if (op.getFaults() != null)
- {
- Iterator faultIt = op.getFaults().values().iterator();
- Message message;
- while (faultIt.hasNext())
- {
- message = ((Fault) faultIt.next()).getMessage();
- if (!message.isUndefined())
- messageSet.add(message);
- }
- }
- }
-
- if (messageSet.size() == 0)
- {
- // Set all message test assertion results to missingInput
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- // now step through each derived Message
- Iterator messageIt = messageSet.iterator();
- while (messageIt.hasNext())
- {
- processMessageAssertions(
- (Message) (messageIt.next()),
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
- }
- }
-
- /**
- * Process message assertions.
- * @param op - operation.
- * @param serviceReference service reference.
- * @param classPrefix class prefix.
- * @param wsdlDocument WSDL document.
- * @throws WSIException if problem occurs during processing
- * message assertions.
- */
- protected void processMessageAssertions(
- Operation op,
- ServiceReference serviceReference,
- String classPrefix,
- WSDLDocument wsdlDocument)
- throws WSIException
- {
-
- HashSet messageSet = new HashSet();
- if (op.getInput() != null && !op.getInput().getMessage().isUndefined())
- messageSet.add(op.getInput().getMessage());
-
- if (op.getOutput() != null && !op.getOutput().getMessage().isUndefined())
- messageSet.add(op.getOutput().getMessage());
-
- // also messages from any Faults defined within the operation
- Iterator faultIt = op.getFaults().values().iterator();
- Message message;
- while (faultIt.hasNext())
- {
- message = ((Fault) faultIt.next()).getMessage();
- if (!message.isUndefined())
- messageSet.add(message);
- }
-
- if (messageSet.size() == 0)
- {
- // Set all message test assertion results to missingInput
- setMissingInput(
- EntryType.getEntryType(EntryType.TYPE_DESCRIPTION_MESSAGE));
- }
-
- else
- {
- // now step through each derived Message
- Iterator messageIt = messageSet.iterator();
- while (messageIt.hasNext())
- {
- processMessageAssertions(
- (Message) (messageIt.next()),
- serviceReference,
- classPrefix,
- wsdlDocument);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isPrimaryEntryTypeMatch(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- protected boolean isPrimaryEntryTypeMatch(
- TestAssertion testAssertion,
- EntryContext targetContext)
- {
- boolean match = false;
-
- // If the test assertion entry type matches the target context entry type, then contine
- if (testAssertion
- .getEntryTypeName()
- .equals(targetContext.getEntry().getEntryType().getTypeName()))
- {
- match = true;
- }
-
- return match;
- }
-
- /* (non-Javadoc)
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl#isNotApplicable(org.wsi.test.profile.TestAssertion)
- */
- protected boolean isNotApplicable(TestAssertion testAssertion)
- {
- boolean notApplicable = false;
-
- // ADD:
-
- return notApplicable;
- }
-
- /**
- * Method getSoapFaults.
- *
- * @param inBinding in binding.
- * @return soap faults.
- * @throws WSIException if problems occur while processing binding faults.
- */
- protected SOAPFault[] getSoapFaults(Binding inBinding) throws WSIException
- {
-
- Vector soapFaults = new Vector();
-
- // Go through each bindingFault one at a time
- BindingFault[] bindingFaults = getAllBindingFaults(inBinding);
- for (int fault = 0; fault < bindingFaults.length; fault++)
- {
- SOAPFault soapFault = getSoapFault(bindingFaults[fault]);
- if (soapFault != null)
- {
- soapFaults.add(soapFault);
- }
- }
-
- SOAPFault[] soapFaultArray = new SOAPFault[soapFaults.size()];
- soapFaults.copyInto(soapFaultArray);
-
- return soapFaultArray;
- }
-
- /**
- * Method getAllBindingFaults.
- *
- * @param inBinding binding.
- * @return all binding faults.
- * @throws WSIException if problems occur during processing.
- */
- protected BindingFault[] getAllBindingFaults(Binding inBinding)
- throws WSIException
- {
-
- Vector faults = new Vector();
-
- try
- {
-
- Iterator bindingOperations = inBinding.getBindingOperations().iterator();
-
- while (bindingOperations.hasNext())
- {
-
- try
- {
- BindingOperation bo = (BindingOperation) bindingOperations.next();
- Iterator bindingFaults = bo.getBindingFaults().values().iterator();
- while (bindingFaults.hasNext())
- {
-
- faults.add((BindingFault) bindingFaults.next());
- }
- }
- catch (NullPointerException e)
- {
-
- }
- }
- }
- catch (NullPointerException e)
- {
- // no binding operations in this binding - ignore & continue
- }
-
- BindingFault[] faultArray = new BindingFault[faults.size()];
- faults.copyInto(faultArray);
-
- return faultArray;
- }
-
- /**
- * Method getWSDLFaults.
- *
- * @param bindingFault a binding fault.
- * @return WSDL faults.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPFault getSoapFault(BindingFault bindingFault)
- throws WSIException
- {
-
- SOAPFault soapFault = null;
- try
- {
- Iterator faultExtensibles =
- bindingFault.getExtensibilityElements().iterator();
-
- while (faultExtensibles.hasNext() && soapFault == null)
- {
- try
- {
- soapFault = (SOAPFault) faultExtensibles.next();
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Fault elements.
- }
- }
- }
- catch (NullPointerException e)
- {
- }
-
- return soapFault;
- }
-
- /**
- * Method getSoapHeader.
- *
- * @param inBinding a binding.
- * @return SOAP headers.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPHeader[] getSoapHeaders(Binding inBinding) throws WSIException
- {
- // Get all bindings
- Binding[] bindingList = new Binding[1];
- bindingList[0] = inBinding;
-
- Vector soapHeaderList = new Vector();
-
- // Go through each binding one at a time
- for (int binding = 0; binding < bindingList.length; binding++)
- {
- try
- {
- // get the list of binding Operations
- BindingOperation[] bindingOperations =
- (BindingOperation[]) bindingList[binding]
- .getBindingOperations()
- .toArray(
- new BindingOperation[0]);
-
- // get references to the extensible elements within the <input> and <output> elements of this binding <operation>.
- for (int bo = 0; bo < bindingOperations.length; bo++)
- {
-
- // Iterate over all input/output extensibles, looking for <SOAP:Body> elements.
- try
- {
- BindingInput bindingInput = bindingOperations[bo].getBindingInput();
- BindingOutput bindingOutput =
- bindingOperations[bo].getBindingOutput();
-
- Iterator extElements =
- bindingInput.getExtensibilityElements().iterator();
- while (extElements.hasNext())
- {
- try
- {
- soapHeaderList.add((SOAPHeader) extElements.next());
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Header.
- }
- }
-
- extElements = bindingOutput.getExtensibilityElements().iterator();
- while (extElements.hasNext())
- {
- try
- {
- soapHeaderList.add((SOAPHeader) extElements.next());
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Header.
- }
- }
- }
- catch (NullPointerException e)
- { // no extensibility elements for <input> or <output> - ignore : not checking this here.
- }
- }
- }
- catch (NullPointerException e)
- {
- // no binding operations in this binding - ignore & continue
- }
- }
-
- SOAPHeader[] soapHeaderArray = new SOAPHeader[soapHeaderList.size()];
- soapHeaderList.copyInto(soapHeaderArray);
-
- return soapHeaderArray;
- }
-
- /**
- * Method getSoapHeaderFaults.
- *
- * WSDLDocument getter method - maybe better off in class WSDLDocument...
- *
- * @param inBinding a binding.
- * @return SOAP header faults.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPHeaderFault[] getSoapHeaderFaults(Binding inBinding)
- throws WSIException
- {
- Vector soapHeaderFaultList = new Vector();
-
- // Get the list of SOAP headers
- SOAPHeader[] soapHeaderArray = getSoapHeaders(inBinding);
-
- // Go through the list and get the header faults
- List list = null;
- for (int header = 0; header < soapHeaderArray.length; header++)
- {
- // Get list for this header
- if ((list = soapHeaderArray[header].getSOAPHeaderFaults()) != null)
- {
- // Add to primary list
- soapHeaderFaultList.addAll(list);
- }
- }
-
- SOAPHeaderFault[] soapHeaderFaultArray =
- new SOAPHeaderFault[soapHeaderFaultList.size()];
- soapHeaderFaultList.copyInto(soapHeaderFaultArray);
-
- return soapHeaderFaultArray;
- }
-
- /**
- * Method getSoapBodies.
- *
- * WSDLDocument getter method - maybe better off in class WSDLDocument...
- *
- * @param inBinding a binding.
- * @return SOAP bodies.
- * @throws WSIException if if problems occur during processing.
- */
- protected SOAPBody[] getSoapBodies(Binding inBinding) throws WSIException
- {
- // REMOVE: Get all bindings
- //Binding[] bindingList = wsdlDocument.getBindings();
- Binding[] bindingList = new Binding[1];
- bindingList[0] = inBinding;
-
- Vector soapBodies = new Vector();
-
- // Go through each binding one at a time
- for (int binding = 0; binding < bindingList.length; binding++)
- {
- // get the list of binding Operations
- BindingOperation[] bindingOperations =
- (BindingOperation[]) bindingList[binding]
- .getBindingOperations()
- .toArray(
- new BindingOperation[0]);
-
- // get references to the extensible elements within the <input> and <output> elements of this binding <operation>.
- for (int bo = 0; bo < bindingOperations.length; bo++)
- {
-
- // Iterate over all input/output extensibles, looking for <SOAP:Body> elements.
- try
- {
- Iterator inputExtensibles =
- bindingOperations[bo]
- .getBindingInput()
- .getExtensibilityElements()
- .iterator();
- while (inputExtensibles.hasNext())
- {
- try
- {
- soapBodies.add((SOAPBody) inputExtensibles.next());
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Body elements.
- }
- }
- }
- catch (NullPointerException e)
- { // no extensibility elements for <input> - ignore : not checking this here.
- }
-
- try
- {
- Iterator outputExtensibles =
- bindingOperations[bo]
- .getBindingOutput()
- .getExtensibilityElements()
- .iterator();
- while (outputExtensibles.hasNext())
- {
- try
- {
- soapBodies.add((SOAPBody) outputExtensibles.next());
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Body elements.
- }
- }
- }
- catch (NullPointerException e)
- { // no extensibility elements for <output>.
- }
- }
- }
-
- SOAPBody[] soapBodyArray = new SOAPBody[soapBodies.size()];
- soapBodies.copyInto(soapBodyArray);
-
- return soapBodyArray;
- }
-
- /**
- * Method getSoapBody.
- *
- * @param bindingInput a BindingInput object.
- * @return body.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPBody getSoapBody(BindingInput bindingInput) throws WSIException
- {
-
- SOAPBody soapBody = null;
-
- Iterator extensibles = bindingInput.getExtensibilityElements().iterator();
- while (extensibles.hasNext())
- {
- Object extensible = extensibles.next();
- if (extensible instanceof SOAPBody)
- {
- soapBody = (SOAPBody) extensible;
- break;
- }
- }
- return soapBody;
- }
-
- /**
- * Method getSoapBody.
- *
- * @param bindingOutput a BindingOutput object.
- * @return SOAP body.
- * @throws WSIException if problems occur during processing.
- */
- protected SOAPBody getSoapBody(BindingOutput bindingOutput)
- throws WSIException
- {
-
- SOAPBody soapBody = null;
-
- Iterator extensibles = bindingOutput.getExtensibilityElements().iterator();
- while (extensibles.hasNext())
- {
- Object extensible = extensibles.next();
- if (extensible instanceof SOAPBody)
- {
- soapBody = (SOAPBody) extensible;
- break;
- }
- }
- return soapBody;
- }
-
- /**
- * Get schema used.
- * @param def definition.
- * @return Schema used.
- * @throws AssertionFailException if problem getting WSDL defintions
- * namespace.
- */
- protected String getSchemaUsed(Definition def) throws AssertionFailException
- {
- String schemaUsed = "";
-
- try
- {
- // Need to read the file directly, since WSDL4J always puts in the default WSDL namespace
- Document document = parseXMLDocumentURL(def.getDocumentBaseURI(), null);
-
- if (document != null)
- {
- // Get the root element
- Element element = document.getDocumentElement();
-
- // Get the namespace for this element
- if (element != null)
- schemaUsed = element.getNamespaceURI();
- }
- }
-
- catch (WSIException we)
- {
- throw new AssertionFailException("problem getting WSDL defintions namespace");
- }
-
- /*
- // Get the default namespace
- String schemaUsed = def.getNamespace("");
-
- // If the default was set, then process it to get the namespace
- if (schemaUsed == null) {
- // do it the hard way (still better than another DOM parse)...
- //WSDLWriter w = new WSDLWriterImpl();
- try {
- WSDLWriter w = WSDLFactory.newInstance().newWSDLWriter();
- Document doc = w.getDocument(def);
- Element e = doc.getDocumentElement();
- schemaUsed = e.getNamespaceURI();
- }
- catch (NullPointerException e) {
- throw new AssertionFailException("problem getting WSDL defintions namespace");
- }
- catch (WSDLException e) {
- throw new AssertionFailException("problem getting document defintion");
- }
- }
- */
-
- return schemaUsed;
- }
-
- /**
- * Method getSoapBinding.
- *
- * Get the SOAP binding for a Binding.
- *
- * @param binding a binding.
- * @return a SOAP binding.
- * @throws WSIException if problems occur during processing.
- */
- public static SOAPBinding getSoapBinding(Binding binding) throws WSIException
- {
- SOAPBinding soapBinding = null;
-
- // Get the list of extensibility elements
- List exElements = binding.getExtensibilityElements();
- if (exElements != null)
- {
- Iterator iterator = binding.getExtensibilityElements().iterator();
-
- // Check for <soap:binding> element
- while ((iterator.hasNext()) && (soapBinding == null))
- {
- try
- {
- soapBinding = (SOAPBinding) iterator.next();
- }
- catch (ClassCastException e)
- { // ignore everything but SOAP Binding element
- }
- }
- }
-
- return soapBinding;
- }
-
- /**
- * Create XML schema validator. This is done here because some compilers do not allow
- * the documentList field to be accessed from within an inner class.
- * @param documentBaseURI the base URL.
- * @return newly created XML schema validator.
- */
- protected XMLSchemaValidator createXMLSchemaValidator(String documentBaseURI)
- {
- // Create XML schema validator
- return new XMLSchemaValidator(documentBaseURI);
- }
-
- /**
- * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
- * @param definition a Definition object.
- * @return a list of schema target namespaces.
- * @throws WSIException if problem during processing method.
- */
- protected List getSchemaTargetNamespaceList(Definition definition)
- throws WSIException
- {
- List list = null, nextList = null;
-
- // Get list of extension elements within the types element
- Types types = null;
- if ((types = definition.getTypes()) != null)
- {
- Iterator iterator = types.getExtensibilityElements().iterator();
-
- ExtensibilityElement extElement = null;
- while (iterator.hasNext())
- {
- // Get next ext. element
- extElement = (ExtensibilityElement) iterator.next();
- // If this is an unknown ext. element, then see if it is a schema element
- TargetNamespaceProcessor tnsProcessor = null;
- if (extElement instanceof UnknownExtensibilityElement)
- {
- tnsProcessor = new TargetNamespaceProcessor(definition.getDocumentBaseURI());
-
-
- if ((nextList =
- tnsProcessor.processAllSchema(
- ((UnknownExtensibilityElement) extElement).getElement()))
- != null)
- if (list == null)
- list = new Vector();
- list.addAll(nextList);
- }
- }
- }
-
- return list;
- }
- /**
- * Search xsd schema or xsd import from node. If node is xsd import it's loading schema.
- * @param definition a Definition object.
- * @return a list of schema target namespaces.
- * @throws WSIException if problem during processing method.
- */
- protected List getSchemaNamespaceList(Definition definition)
- throws WSIException
- {
- List list = new Vector();
-
- // Always add current document targetNamespace
- List targetNamespaceList = getSchemaTargetNamespaceList(definition);
-
- if ((targetNamespaceList != null) && !targetNamespaceList.isEmpty())
- list.addAll(targetNamespaceList);
-
- // Get list of imported WSDL documents
- Map importMap = definition.getImports();
-
- Import imp;
-
- // Add each imports targetNamespace to the list
- if (importMap != null && !importMap.isEmpty())
- {
- Iterator values = importMap.values().iterator();
- List importList;
- while (values.hasNext())
- {
- importList = (List) values.next();
- Iterator imports = importList.iterator();
- while (imports.hasNext())
- {
- imp = (Import) imports.next();
- if (imp != null && imp.getDefinition() != null)
- list.addAll(getSchemaNamespaceList(imp.getDefinition()));
- }
- }
- }
-
- return list;
- }
-
- /**
- * Build list of WSDL targetNamespaces.
- * @param definition a Definition object.
- * @return list of WSDL targetNamespaces.
- */
- protected List getWSDLTargetNamespaceList(Definition definition)
- {
- List list = new Vector();
-
- // Always add current document targetNamespace
- if (definition.getTargetNamespace() != null)
- list.add(definition.getTargetNamespace());
-
- // Get list of imported WSDL documents
- Map importMap = definition.getImports();
-
- Import imp;
-
- // Add each imports targetNamespace to the list
- if (importMap != null && !importMap.isEmpty())
- {
- Iterator values = importMap.values().iterator();
- List importList;
- while (values.hasNext())
- {
- importList = (List) values.next();
- Iterator imports = importList.iterator();
- while (imports.hasNext())
- {
- imp = (Import) imports.next();
- if (imp != null && imp.getDefinition() != null)
- list.addAll(getWSDLTargetNamespaceList(imp.getDefinition()));
- // list.add(imp.getDefinition().getTargetNamespace());
- }
- }
- }
-
- return list;
- }
-
- protected class BindingMatch
- {
- private Binding binding;
- private BindingOperation bindingOperation;
- private SOAPBinding soapBinding;
- //private Vector bindingArgs; // set of BindingInputs and BindingOutputs
- private BindingInput bindingInput;
- private BindingOutput bindingOutput;
-
- // ADD: need to include BindingFault support...
- public BindingMatch(
- Binding b,
- BindingOperation bo,
- SOAPBinding sb,
- BindingInput bin,
- BindingOutput bout)
- {
- binding = b;
- bindingOperation = bo;
- soapBinding = sb;
- //bindingArgs = new Vector();
- //if (bin != null) { bindingArgs.add(bin); }
- //if (bout != null) { bindingArgs.add(bout); }
- bindingInput = bin;
- bindingOutput = bout;
- }
-
- public BindingMatch(
- Binding b,
- BindingOperation bo,
- SOAPBinding sb,
- BindingInput bin)
- {
- this(b, bo, sb, bin, null);
- }
-
- public BindingMatch(
- Binding b,
- BindingOperation bo,
- SOAPBinding sb,
- BindingOutput bout)
- {
- this(b, bo, sb, null, bout);
- }
-
- /**
- * Returns the soapBinding.
- * @return SOAPBinding
- */
- public SOAPBinding getSoapBinding()
- {
- return soapBinding;
- }
-
- /**
- * Returns the bindingOperation.
- * @return BindingOperation
- */
- public BindingOperation getBindingOperation()
- {
- return bindingOperation;
- }
-
- /**
- * Returns the bindingInput.
- * @return BindingInput
- */
- public BindingInput getBindingInput()
- {
- return bindingInput;
- }
-
- /**
- * Returns the bindingOutput.
- * @return BindingOutput
- */
- public BindingOutput getBindingOutput()
- {
- return bindingOutput;
- }
-
- public boolean hasBindingInput()
- {
- return (this.bindingInput != null);
- }
-
- public boolean hasBindingOutput()
- {
- return (this.bindingOutput != null);
- }
-
- /**
- * Returns the binding.
- * @return Binding
- */
- public Binding getBinding()
- {
- return binding;
- }
-
- }
-
- /**
- * Get binding matches.
- * @param binding a binding.
- * @param soapBindingStyle soap binding style.
- * @param soapBodyUse soap body use.
- * @return binding matches.
- * @throws WSIException if problems occur during processing.
- */
- public BindingMatch[] getBindingMatches(
- Binding binding,
- String soapBindingStyle,
- String soapBodyUse)
- throws WSIException
- {
-
- Vector bindingMatches = new Vector();
-
- // Check binding
- SOAPBinding soapBinding = getSoapBinding(binding);
-
- // check that the soap:binding for this WSDL binding is the specified style
- // ADD: check for null pointer
- if (soapBinding != null)
- {
- String defaultStyle = soapBinding.getStyle();
-
- if (defaultStyle == null)
- {
- defaultStyle = WSIConstants.ATTRVAL_SOAP_BIND_STYLE_DOC;
- }
-
- // Get the set of operations for this WSDL binding
- List bindingOpsList = binding.getBindingOperations();
- if (bindingOpsList != null)
- {
- Iterator bindingOps = bindingOpsList.iterator();
- // for each binding operation:
- while (bindingOps.hasNext())
- {
- BindingOperation bindingOp = (BindingOperation) bindingOps.next();
-
- SOAPOperation soapOp = getSoapOperation(bindingOp);
-
- if ((soapOp == null && defaultStyle.equals(soapBindingStyle))
- || (soapOp != null
- && soapOp.getStyle() == null
- && defaultStyle.equals(soapBindingStyle))
- || (soapOp != null
- && soapOp.getStyle() != null
- && soapOp.getStyle().equals(soapBindingStyle)))
- {
- // check binding input & output
- BindingInput bInput = bindingOp.getBindingInput();
- if (bInput != null)
- {
- SOAPBody inputSoapBody = getSoapBody(bInput);
- if (inputSoapBody == null
- || (inputSoapBody.getUse() != null
- && !inputSoapBody.getUse().equals(soapBodyUse)))
- {
- bInput = null;
- }
- }
-
- BindingOutput bOutput = bindingOp.getBindingOutput();
- if (bOutput != null)
- {
- SOAPBody outputSoapBody = getSoapBody(bOutput);
-
- if (outputSoapBody == null
- || (outputSoapBody.getUse() != null
- && !outputSoapBody.getUse().equals(soapBodyUse)))
- {
- bOutput = null;
- }
- }
-
- if ((bOutput != null) || (bInput != null))
- {
- // we have a match, add to the vector
- bindingMatches.add(
- new BindingMatch(
- binding,
- bindingOp,
- soapBinding,
- bInput,
- bOutput));
- }
- }
- }
- }
- }
-
- BindingMatch[] BindingMatchArray = new BindingMatch[bindingMatches.size()];
- bindingMatches.copyInto(BindingMatchArray);
- return BindingMatchArray;
- }
-
- /**
- * Method getSoapOperation.
- *
- * @param bindingOperation a binding operation.
- * @return a soap operation.
- * @throws WSIException if problems while processing.
- */
- public static SOAPOperation getSoapOperation(BindingOperation bindingOperation)
- throws WSIException
- {
-
- if (bindingOperation.getExtensibilityElements() == null)
- {
- return null;
- }
-
- Iterator extensibles =
- bindingOperation.getExtensibilityElements().iterator();
- while (extensibles.hasNext())
- {
- Object extensible = extensibles.next();
- if (extensible instanceof SOAPOperation)
- {
- return (SOAPOperation) extensible;
- }
- }
- return null;
- }
-
- /*
- * Returns an array of SOAPOperations corresponding to the wsdl:binding supplied.
- */
- protected HashMap getSoapOperations(Binding binding) throws WSIException
- {
- HashMap soapOperationList = new HashMap();
-
- if (binding.getBindingOperations() == null)
- {
- return null;
- }
-
- //Vector soapOpVector = new Vector();
-
- // Get the list of binding operations
- Iterator operations = binding.getBindingOperations().iterator();
-
- // Check each binding operation to see if it has a soap operation element
- BindingOperation bindingOperation = null;
- while (operations.hasNext())
- {
- bindingOperation = (BindingOperation) operations.next();
- Iterator extensibles =
- bindingOperation.getExtensibilityElements().iterator();
- while (extensibles.hasNext())
- {
- Object extensible = extensibles.next();
- if (extensible instanceof SOAPOperation)
- {
- soapOperationList.put(extensible, bindingOperation.getName());
- }
- }
- }
-
- //return (SOAPOperation[])soapOpVector.toArray(new SOAPOperation[] {});
- return soapOperationList;
- }
-
- /**
- * Check part attributes.
- * @param bindingMatch an array of BindingMatch objects.
- * @param inOrOut a String object.
- * @param attrib attribute.
- * @return a boolean.
- * @throws AssertionFailException if the part is not compliant.
- */
- // GT - rework this method with a better way of parameterizing the getters required for the invocation.
- protected boolean checkPartAttributes(
- BindingMatch[] bindingMatch,
- String inOrOut,
- String attrib)
- throws AssertionFailException
- {
-
- if (!(inOrOut.equals("useInput") || inOrOut.equals("useOutput"))
- || !(attrib.equals("useType") || attrib.equals("useElement")))
- {
- // invalid argument value supplied by calling method - "internal error"
- return false;
- }
-
- for (int i = 0; i < bindingMatch.length; i++)
- {
- BindingMatch nextMatch = bindingMatch[i];
-
- // check the associated parts
- Message msg;
- Map parts;
- Iterator partIteration;
-
- BindingOperation bindingOp = nextMatch.getBindingOperation();
- if (bindingOp == null)
- {
- continue; // no Binding Operation for some reason
- }
-
- Operation op = bindingOp.getOperation();
-
- /* ADD: handle soap:faults in similar way
- try {
- // check faults - remarkably similar.... (need to retain operation id for failuredetail msg)
- if (nextMatch.hasBindingFault()) {
-
- msg = op.getFault().getMessage();
- parts = msg.getParts();
-
- //check that each part has an element attribute
- partIteration = parts.values().iterator();
- while (partIteration.hasNext()) {
- Part part = (Part)partIteration.next();
- if (part.getElementName() == null) {
- throw new AssertionFailException("OPERATION: " + op + "MESSAGE: " + msg);
- }
- }
- }
- }
- catch (NullPointerException n) {
- // no parts found - this qualifies an assertion failure
- throw new AssertionFailException(n.getMessage());
- }
- */
-
- try
- {
-
- QName attributeName;
-
- //GT: Do we need to check BindingInput / Output here ??
-
- if (inOrOut.equals("useInput"))
- {
- if (op.getInput() == null || !nextMatch.hasBindingInput())
- {
- // No Input so nothing to check
- continue;
- }
-
- msg = op.getInput().getMessage();
-
- }
- else
- { // Looking for Output
- if (op.getOutput() == null || !nextMatch.hasBindingOutput())
- {
- // No Output so nothing to check
- continue;
- }
-
- msg = op.getOutput().getMessage();
- }
-
- if (msg == null)
- {
- continue; // nothing to check from this Binding Match (?)
- }
-
- // Get the list of parts
- parts = msg.getParts();
-
- // If there is a parts attribute, then only process those parts
- List partsNameList = null;
- if ((partsNameList = getPartsList(nextMatch, inOrOut)) != null)
- {
- Vector partsList = new Vector();
- Iterator partsNameIterator = partsNameList.iterator();
- while (partsNameIterator.hasNext())
- {
- partsList.add(parts.get((String) partsNameIterator.next()));
- }
- partIteration = partsList.iterator();
- }
-
- // Otherwise use the complete list of parts
- else
- {
- partIteration = parts.values().iterator();
- }
-
- //check that each part has an element or type attribute
- while (partIteration.hasNext())
- {
- Part part = (Part) partIteration.next();
- if (attrib.equals("useElement"))
- {
- attributeName = part.getElementName();
- }
- else
- { // "useType"
- attributeName = part.getTypeName();
- }
-
- if (attributeName == null)
- {
- throw new AssertionFailException(
- "Name of operation that failed: "
- + op.getName()
- + "\n"
- + op.toString()
- + "\n"
- + "\nName of message that failed: "
- + msg.getQName()
- + "\n"
- + msg.toString());
- }
- }
- }
- catch (NullPointerException n)
- {
- // no parts found - this qualifies an assertion failure
- throw new AssertionFailException(n.toString());
- }
- }
- return true; // tests successful
- }
-
- /**
- * Get parts list from a soapbind:body element.
- */
- private List getPartsList(BindingMatch bindingMatch, String type)
- {
- List partsList = null;
- Iterator iterator = null;
-
- BindingOperation bindingOp;
-
- try
- {
- // Get the binding operation
- bindingOp = bindingMatch.getBindingOperation();
-
- // Determine if the binding operation contains a soapbind:body with a parts attribute
- if (type.equals("useInput"))
- {
- iterator =
- bindingOp.getBindingInput().getExtensibilityElements().iterator();
- }
- else
- {
- iterator =
- bindingOp.getBindingOutput().getExtensibilityElements().iterator();
- }
- }
- catch (NullPointerException e)
- {
- return null;
- // either no binding operation, binding input/output, or SOAP element
- }
-
- // Determine if the binding operation contains a soapbind:body with a parts attribute
- while ((iterator.hasNext()) && (partsList == null))
- {
- try
- {
- SOAPBody soapBody = (SOAPBody) iterator.next();
- partsList = soapBody.getParts();
- }
- catch (ClassCastException cce)
- { // not a SOAPBody extensibility element so ignore
- }
- }
-
- return partsList;
- }
-
- /**
- * Get element location.
- * @param wsdlDocument WSDL document.
- * @param wsdlElement WSDL element.
- * @return element location.
- */
- protected ElementLocation getElementLocation(
- WSDLDocument wsdlDocument,
- Object wsdlElement)
- {
- ElementLocation elementLocation = null;
- WSDLElementList wsdlElementList;
-
- if ((wsdlElementList = wsdlDocument.getElementList()) != null)
- {
- elementLocation = wsdlElementList.getElementLocation(wsdlElement);
- }
-
- return elementLocation;
- }
-
- /**
- * Create failure detail.
- * @param message a message.
- * @param entryContext entry context.
- * @return failure detail.
- */
- protected FailureDetail createFailureDetail(
- String message,
- EntryContext entryContext)
- {
- return createFailureDetail(
- message,
- entryContext,
- entryContext.getEntry().getEntryDetail());
- }
-
- /**
- * Create failure detail.
- * @param message a message.
- * @param entryContext entry context.
- * @param wsdlElement WSDL element.
- * @return failure detail.
- */
- protected FailureDetail createFailureDetail(
- String message,
- EntryContext entryContext,
- Object wsdlElement)
- {
- FailureDetail failureDetail = reporter.createFailureDetail();
- failureDetail.setFailureMessage(message);
- failureDetail.setElementLocation(
- getElementLocation(entryContext.getWSDLDocument(), wsdlElement));
- return failureDetail;
- }
-
- /**
- * SOAPBody, SOAPFault, SOAPHeader and SOAPHeaderFault class
- * interfaces have compatible getUse() and getNamespaceURI()
- * methods, but wsdl4j does not declare them at the parent interface.
- * Therefore use reflection to access these common methods.
- *
- * @param extElement extensibility element.
- * @return true if namespace is found in SOAP literal.
- * @throws NoSuchMethodException if this method cannot be found.
- * @throws InvocationTargetException if problems occur in an invoked method or constructor
- * @throws IllegalAccessException if there is am attempt to load a
- * class that it does not have access to.
- */
- protected boolean namespaceFoundInSoapLiteral(ExtensibilityElement extElement)
- throws NoSuchMethodException, InvocationTargetException, IllegalAccessException
- {
- Class c = extElement.getClass();
- Method getUseMethod = c.getMethod("getUse", new Class[0]);
- Method getNamespaceURIMethod = c.getMethod("getNamespaceURI", new Class[0]);
-
- // (use attribute is mandatory but the null case is checked for since a missing use is not
- // checked with this TA. If its missing its invalid but we don't know whether we have doc-lit).
- if (getUseMethod.invoke(extElement, null) == null
- || !getUseMethod.invoke(extElement, null).equals(
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- return false;
- }
-
- // return true if namespace found
- boolean namespaceFound =
- (getNamespaceURIMethod.invoke(extElement, null) != null);
-
- // return true if namespace found
- return namespaceFound;
-
- }
-
- /**
- * Verify extensibility element uses literal.
- * @param extensible - extensibility element
- * @return boolean
- * @throws NoSuchMethodException if this method cannot be found.
- * @throws InvocationTargetException if problems occur in an invoked method or constructor
- * @throws IllegalAccessException if there is am attempt to load a
- * class that it does not have access to.
- */
- protected boolean isLiteral(ExtensibilityElement extensible)
- throws NoSuchMethodException, InvocationTargetException, IllegalAccessException
- {
-
- Class c = extensible.getClass();
- Method getUseMethod = c.getMethod("getUse", new Class[0]);
-
- // (use attribute is mandatory but the null case is checked for since a missing use is not
- // checked with this TA. If its missing its invalid but we don't know whether we have doc-lit).
- if (getUseMethod.invoke(extensible, null) == null
- || !getUseMethod.invoke(extensible, null).equals(
- WSIConstants.ATTRVAL_SOAP_BODY_USE_LIT))
- {
- return false;
- }
-
- // return true if shown to have use="literal"
- return true;
-
- }
-}
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java
deleted file mode 100644
index 4b39b5d48..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2010.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2010
- */
-public class WSI2010 extends BP2010
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2010(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java
deleted file mode 100644
index 61d5da778..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2011.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2011
- */
-public class WSI2011 extends BP2011
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2011(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java
deleted file mode 100644
index 21d9ef231..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2012.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2012
- */
-public class WSI2012 extends BP2012
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2012(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java
deleted file mode 100644
index d4f01cf16..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2013.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2013
- */
-public class WSI2013 extends BP2013
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2013(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java
deleted file mode 100644
index fbb6a6ae2..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2014.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2014
- */
-public class WSI2014 extends BP2014
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2014(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java
deleted file mode 100644
index 93e9820b6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2017.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2017
- */
-public class WSI2017 extends BP2017
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2017(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java
deleted file mode 100644
index 3845e3130..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2018.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2018
- */
-public class WSI2018 extends BP2018
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2018(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java
deleted file mode 100644
index fb197f277..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2019.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2019
- */
-public class WSI2019 extends BP2019
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2019(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java
deleted file mode 100644
index 25f0206d4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2020.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2020
- */
-public class WSI2020 extends BP2020
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2020(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java
deleted file mode 100644
index 437f1bc35..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2021.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2021
- */
-public class WSI2021 extends BP2021
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2021(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java
deleted file mode 100644
index 826996572..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2022.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2022
- */
-public class WSI2022 extends BP2022
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2022(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java
deleted file mode 100644
index 6c07ac1a6..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2032.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2032
- */
-public class WSI2032 extends BP2032
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2032(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java
deleted file mode 100644
index 82a905c27..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2098.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2098
- */
-public class WSI2098 extends BP2098
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2098(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java
deleted file mode 100644
index 514b52c08..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2099.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.BindingFault;
-import javax.wsdl.BindingInput;
-import javax.wsdl.BindingOperation;
-import javax.wsdl.BindingOutput;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Import;
-import javax.wsdl.Input;
-import javax.wsdl.Output;
-import javax.wsdl.Part;
-import javax.wsdl.Service;
-import javax.wsdl.Types;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-
-
-/**
- * WSI2099.
- * <context>For a candidate wsdl:definitions, </context>
- * <assertionDescription>A WS-I conformance annotation does not appear outside a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message element.</assertionDescription>
- */
-public class WSI2099 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2099(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private ErrorList errors = new ErrorList();
- private boolean containsClaims = false;
-
- /**
- * Check a WS-I conformance annotation does not appear outside a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message element if not it creates failure report.
- * @see org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLVisitor#visit(org.w3c.dom.Element, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Element el, Object parent, WSDLTraversalContext ctx)
- {
- // conformance claim should be within : port, binding, porttype, operation, message
- if (containsConformanceClaim(el))
- {
- containsClaims = true;
-
- if (parent instanceof BindingFault)
- errors.add(WSDL_FAULT, ((BindingFault) parent).getName());
- else if (parent instanceof BindingInput)
- errors.add(WSDL_INPUT, ((BindingInput) parent).getName());
- else if (parent instanceof BindingOperation)
- errors.add(WSDL_OPERATION, ((BindingOperation) parent).getName());
- else if (parent instanceof BindingOutput)
- errors.add(WSDL_OUTPUT, ((BindingOutput) parent).getName());
- else if (parent instanceof Definition)
- errors.add(WSDL_DEFINITIONS, ((Definition) parent).getQName());
- else if (parent instanceof Service)
- errors.add(WSDL_SERVICE, ((Service) parent).getQName());
- else if (parent instanceof Fault)
- errors.add(WSDL_FAULT, ((Fault) parent).getName());
- else if (parent instanceof Output)
- errors.add(WSDL_INPUT, ((Output) parent).getName());
- else if (parent instanceof Import)
- errors.add(WSDL_IMPORT, ((Import) parent).getNamespaceURI());
- else if (parent instanceof Input)
- errors.add(WSDL_INPUT, ((Input) parent).getName());
- else if (parent instanceof Part)
- errors.add(WSDL_PART, ((Part) parent).getName());
- else if (parent instanceof Types)
- errors.add(WSDL_TYPES);
- }
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitElement(true);
- /*
- traversal.
- ignorePort2Element().
- ignoreMessage2Element().
- ignoreBinding2Element().
- ignorePortType2Element().
- ignoreOperation2Element();
- */
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- // create detail message with the list of error elements
- if (!errors.isEmpty())
- {
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- result = AssertionResult.RESULT_FAILED;
- }
-
- else if (!containsClaims)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- else
- {
- result = AssertionResult.RESULT_PASSED;
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Check the documentation element whether contains conformance claims.
- * Returns true if documentation element contains conformance claim.
- * @param el
- * @return boolean
- */
- private boolean containsConformanceClaim(Element el)
- {
- if (el == null)
- return false;
- el = XMLUtils.findChildElement(el, WSI_CLAIM);
- return (el != null);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java
deleted file mode 100644
index da15585c4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2100.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcessVisitor;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.util.ErrorList;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversal;
-import org.eclipse.wst.wsi.internal.core.wsdl.traversal.WSDLTraversalContext;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-
-
-/**
- * WSI2100.
- * <context>For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message, which in turn contains a conformance annotation</context>
- * <assertionDescription>The conformance annotation of the wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message, validates to the schema defined in the Basic Profile, and is direct child of the documentation element for the WSDL element. The schema definition uses "http://ws-i.org/schemas/conformanceClaim/" as the targetNamespace. </assertionDescription>
- */
-public class WSI2100 extends AssertionProcessVisitor implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2100(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean containsClaims = false;
- private ErrorList errors = new ErrorList();
-
- /* Create falure report if port contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Port, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Port port, Object parent, WSDLTraversalContext ctx)
- {
- if (port != null && !containsLegalClaim(port.getDocumentationElement()))
- errors.add(WSDL_PORT, port.getName());
- }
-
- /* Create falure report if binding contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Binding, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Binding binding, Object parent, WSDLTraversalContext ctx)
- {
- if (binding != null
- && !containsLegalClaim(binding.getDocumentationElement()))
- errors.add(WSDL_BINDING, binding.getQName());
- }
-
- /* Create falure report if port type contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.PortType, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(PortType type, Object parent, WSDLTraversalContext ctx)
- {
- if (type != null && !containsLegalClaim(type.getDocumentationElement()))
- errors.add(WSDL_PORTTYPE, type.getQName());
- }
-
- /* Create falure report if operation contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Operation, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(
- Operation operation,
- Object parent,
- WSDLTraversalContext ctx)
- {
- if (operation != null
- && !containsLegalClaim(operation.getDocumentationElement()))
- errors.add(WSDL_OPERATION, operation.getName());
- }
-
- /* Create falure report if message contains illegal claim.
- * @see org.wsi.wsdl.traversal.WSDLVisitor#visit(javax.wsdl.Message, java.lang.Object, org.wsi.wsdl.traversal.WSDLTraversalContext)
- */
- public void visit(Message message, Object parent, WSDLTraversalContext ctx)
- {
- if (message != null
- && !containsLegalClaim(message.getDocumentationElement()))
- errors.add(WSDL_MESSAGE, message.getQName());
- }
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_FAILED;
-
- WSDLTraversal traversal = new WSDLTraversal();
- //VisitorAdaptor.adapt(this);
- traversal.setVisitor(this);
- traversal.visitOperation(true);
- traversal.visitBinding(true);
- traversal.visitMessage(true);
- traversal.visitPort(true);
- traversal.visitPortType(true);
- traversal.ignoreReferences();
- traversal.ignoreImport();
- traversal.traverse((Definition) entryContext.getEntry().getEntryDetail());
-
- // create detail message with the list of error elements
- if (!errors.isEmpty())
- {
- failureDetail = this.validator.createFailureDetail(errors.toString(), entryContext);
- result = AssertionResult.RESULT_FAILED;
- }
-
- else if (!containsClaims)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
- else
- result = AssertionResult.RESULT_PASSED;
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /**
- * Check the documentation element whether contains conformance claims.
- * Returns true if documentation element contains conformance claim with
- * illegal schema definition URI.
- * legal is 'http://ws-i.org/schemas/conformanceClaim/'
- * @param el
- * @return boolean
- */
- private boolean containsLegalClaim(Element el)
- {
- if (el == null)
- return true;
- // find claim
- el = XMLUtils.findChildElement(el, WSI_CLAIM);
-
- if (el != null)
- containsClaims = true;
-
- while (el != null)
- {
- if (XMLUtils.getAttribute(el, ATTR_CLAIM_CONFORMSTO) == null
- || XMLUtils.getAttribute(el, ATTR_SOAP_MUSTUNDERSTAND) != null)
- return false;
- el = XMLUtils.findElement(el, WSI_CLAIM);
- }
- return true;
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java
deleted file mode 100644
index 68f09db6a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2101.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2101
- */
-public class WSI2101 extends BP2101
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2101(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java
deleted file mode 100644
index 63627d05c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2102.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2102
- */
-public class WSI2102 extends BP2102
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2102(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java
deleted file mode 100644
index bb75f197c..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2103.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2103
- */
-public class WSI2103 extends BP2103
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2103(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java
deleted file mode 100644
index b7427795e..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2104.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2104
- */
-public class WSI2104 extends BP2104
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2104(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java
deleted file mode 100644
index bbbddfeec..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2105.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2105
- */
-public class WSI2105 extends BP2105
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2105(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java
deleted file mode 100644
index dc5742fd8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2107.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2107
- */
-public class WSI2107 extends BP2107
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2107(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java
deleted file mode 100644
index 746beaa3f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2108.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2108
- */
-public class WSI2108 extends BP2108
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2108(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java
deleted file mode 100644
index e70cc4d30..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2110.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2110
- */
-public class WSI2110 extends BP2110
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2110(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java
deleted file mode 100644
index ef9286fb9..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2111.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2111
- */
-public class WSI2111 extends BP2111
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2111(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java
deleted file mode 100644
index ed40abe32..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2112.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2112
- */
-public class WSI2112 extends BP2112
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2112(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java
deleted file mode 100644
index 0c1189792..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2113.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2113
- */
-public class WSI2113 extends BP2113
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2113(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java
deleted file mode 100644
index ef55a24eb..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2114.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2114
- */
-public class WSI2114 extends BP2114
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2114(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java
deleted file mode 100644
index 916ef7a3d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2115.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2115
- */
-public class WSI2115 extends BP2115
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2115(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java
deleted file mode 100644
index 03358e71d..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2116.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2116
- */
-public class WSI2116 extends BP2116
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2116(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java
deleted file mode 100644
index 87b377cb3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2117.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2117
- */
-public class WSI2117 extends BP2117
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2117(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java
deleted file mode 100644
index d6d33076b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2118.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2118
- */
-public class WSI2118 extends BP2118
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2118(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java
deleted file mode 100644
index 1416ce33a..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2119.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2119
- */
-public class WSI2119 extends BP2119
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2119(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java
deleted file mode 100644
index 4f2e205b7..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2120.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2120
- */
-public class WSI2120 extends BP2120
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2120(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java
deleted file mode 100644
index 22994ec84..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2122.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2122
- */
-public class WSI2122 extends BP2122
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2122(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java
deleted file mode 100644
index 44f05a6b4..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2123.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2123
- */
-public class WSI2123 extends BP2123
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2123(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java
deleted file mode 100644
index 696457c71..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2201.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2201
- */
-public class WSI2201 extends BP2201
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2201(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java
deleted file mode 100644
index ebb59f35f..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2202.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2202
- */
-public class WSI2202 extends BP2202
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2202(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java
deleted file mode 100644
index 4ed71303b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2208.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2208
- */
-public class WSI2208 extends BP2208
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2208(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java
deleted file mode 100644
index 10c57852b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2402.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2402
- */
-public class WSI2402 extends BP2402
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2402(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java
deleted file mode 100644
index 8facd42e0..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2403.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2403
- */
-public class WSI2403 extends SSBP2403
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2403(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java
deleted file mode 100644
index 9dfa8e9c8..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2404.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2404
- */
-public class WSI2404 extends BP2404
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2404(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java
deleted file mode 100644
index c6d420a79..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2406.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2406
- */
-public class WSI2406 extends BP2406
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2406(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java
deleted file mode 100644
index 770bf3f6b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2416.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2416
- */
-public class WSI2416 extends BP2416
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2416(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java
deleted file mode 100644
index 7c2383641..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2417.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2417
- */
-public class WSI2417 extends BP2417
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2417(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java
deleted file mode 100644
index 39bbb363b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2700.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2700
- */
-public class WSI2700 extends BP2700
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2700(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java
deleted file mode 100644
index 4337f53d3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2701.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2701
- */
-public class WSI2701 extends BP2701
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2701(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java
deleted file mode 100644
index 54637088b..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI2703.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI2703
- */
-public class WSI2703 extends BP2703
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI2703(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java
deleted file mode 100644
index ed43a7c31..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4200.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI4200
- */
-public class WSI4200 extends BP4200
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI4200(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java
deleted file mode 100644
index f7233d977..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4201.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI4201
- */
-public class WSI4201 extends BP4201
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI4201(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java
deleted file mode 100644
index 92d9baed5..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/WSI4202.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl;
-
-/**
- * WSI4202
- */
-public class WSI4202 extends BP4202
-{
-
- /**
- * @param WSDLValidatorImpl
- */
- public WSI4202(WSDLValidatorImpl impl)
- {
- super(impl);
- }
-} \ No newline at end of file

Back to the top