diff --git a/wst/trunk/ws_helper/ws_helper.lpi b/wst/trunk/ws_helper/ws_helper.lpi index 1952dda32..00493f692 100644 --- a/wst/trunk/ws_helper/ws_helper.lpi +++ b/wst/trunk/ws_helper/ws_helper.lpi @@ -124,7 +124,7 @@ - + @@ -141,7 +141,6 @@ - diff --git a/wst/trunk/ws_helper/wsdl_parser.pas b/wst/trunk/ws_helper/wsdl_parser.pas index 90583f8c9..4a61abc11 100644 --- a/wst/trunk/ws_helper/wsdl_parser.pas +++ b/wst/trunk/ws_helper/wsdl_parser.pas @@ -1231,6 +1231,15 @@ begin ParseFilter(CreateQualifiedNameFilterStr(s_schema,FXSShortNames),TDOMNodeRttiExposer) ); FSchemaCursor.Reset(); + if FSchemaCursor.MoveNext() then begin + FSchemaCursor.Reset(); + end else begin + FSchemaCursor := CreateCursorOn( + CreateChildrenCursor(locObj.InnerObject,cetRttiNode), + ParseFilter(Format('%s=%s',[s_NODE_NAME,QuotedStr(s_schema)]),TDOMNodeRttiExposer) + ); + FSchemaCursor.Reset(); + end; end; end; @@ -1248,7 +1257,7 @@ var begin i := FXsdParsers.IndexOf(ANamespace); if ( i < 0 ) then - raise EXsdParserAssertException.CreateFmt('Unable to find the parser of the parser, namespace : "%s".',[ANamespace]); + raise EXsdParserAssertException.CreateFmt('Unable to find the parser, namespace : "%s".',[ANamespace]); Result := (FXsdParsers.Objects[i] as TIntfObjectRef).Intf as IXsdPaser; end;