Commit Graph

49 Commits

Author SHA1 Message Date
ac7aeb38c8 XSD's "include" handling, better "uses" generation for schema files translalted to pascal, better generated file names, handling of "import" and "include" in sub-directories, Handling of TComplexEnumContentRemotable
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1856 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-08-29 02:59:57 +00:00
848a2159be Correct test for string-based type (optional)properties (for storage)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1483 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2011-02-02 15:37:47 +00:00
4d54efd4e7 Typo correction(WriteDocumetation > WriteDocumentation).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1384 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-11-26 09:50:16 +00:00
3bf012d3a2 Type Library Editor AV Correction
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1360 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-11-01 12:08:12 +00:00
2e7fa04712 Replace property "store" prefix by sWST_PROP_STORE_PREFIX( = 'wstHas_') (fix)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1350 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-10-15 13:43:44 +00:00
040e7012bf Replace property "store" prefix by sWST_PROP_STORE_PREFIX( = 'wstHas_')
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1340 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-10-11 12:23:49 +00:00
73653e4c9b easy access interface should be handle only in the unit containing the original interface.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1318 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-09-08 14:02:52 +00:00
2e5b08e9d7 Correct "easy access" proxy implementation.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1256 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-07-16 15:28:21 +00:00
c75480148f Correct "easy access" proxy implementation not to free result property.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1252 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-07-14 18:04:43 +00:00
63ea74c175 fix sLOCAL_TYPE_REGISTER_REFERENCE to 'typeRegistryInstance' due to Michael Joyner.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1023 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-11-30 10:08:59 +00:00
a1e5f64e80 ws_helper generator :
when option "-y" ( easy access interface generation ) is specified, ws_helper no longer blocks on invalid methods, it just skip them.
  Better implementation of the proxy for easy access interface methods

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1021 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-11-30 09:50:20 +00:00
2f31267ad0 Break in case of cycle in the object inheritance ( which should not happen )
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1010 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-11-16 09:21:37 +00:00
5d40568799 Include extra units ( generated from included namespaces ) in the unit(interface, proxy, binder, implementation ) "uses" clause.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@998 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-11-09 09:55:09 +00:00
1dbbf6ce7e Introduce "FreeObjectProperties()" method in TBaseComplexRemotable to allow its derived classes to clear (FreeAndNil) their object(s) and array(s) properties.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@909 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-16 11:16:39 +00:00
b45faabcdc ws_helper : option '-gC' to generate object collection instead of array.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@903 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-09 16:50:26 +00:00
e5e00893ef Fix : AV in the implementation generator.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@876 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-06-29 10:42:54 +00:00
527c0c98b8 Code generation : Array item external name setting in the interface file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@812 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-05-28 19:43:15 +00:00
4d76fe4edd Type registration : complex objects serialization's helpers are now fully created at registration time.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@808 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-05-25 16:08:42 +00:00
2e85188ebc DDelphi 2009 support (Fix ... )
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@638 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-12-17 21:29:09 +00:00
bb891a6fe5 Default proxy creation function bug fix
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@612 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-11-26 11:12:33 +00:00
750cf8f8cf Generated proxy creation function now take 3 parameters for easy usage :
* AFormat
  * ATransport
  * AAddress

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@570 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-09-25 02:14:56 +00:00
5dac536065 proxy generator : store the call context into a local variable and use it instead of casting "self" to ICallContext, suggested by MVC ( FPC team )
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@548 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-09-10 16:02:05 +00:00
7a5a5c150b Documentation handling in wsdl/xsd editing and parsing :
+ main windows of the Type Library Editor now has, for the select item, a document view, xsd view and a dependencies view
 + each type edit dialog now has, for the select item, a document view, xsd view and a dependencies view
 + the interface file generator is able to generate the xsd documentation as comments in the Object Pascal source code

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@531 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-08-18 18:19:00 +00:00
639bde5376 +Object Collection support
All WST custom attributes are now namespace qualified
Correct XDS generator for complex type extending simple type

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@520 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-08-01 21:38:55 +00:00
c8ea997a2b Wrapped parameter generation fix
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@505 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-07-03 16:42:26 +00:00
e6599ad9f8 Document wrapped parameters handling : generation of an easy access interface
that expose simpler parameters. 
see ws_helper -y commute

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@503 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-07-03 16:15:03 +00:00
a2c31b16a1 Handling of an enumeration with an empty item ( reported by Michael Van Canneyt )
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@491 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-06-26 15:06:00 +00:00
4ac8b874cf json serialization : client & server
base64 encoded support + tests
new tests for schema parsers : complex type extending simple type

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@303 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-12-29 00:58:19 +00:00
a53b4f1c6e typ_lib_edtr bug fix
more tests and fix
Delphi GUI DUnit test suite runer 

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@292 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-12-19 23:31:52 +00:00
1c633e091d wsdl2pas_imp.pas has been reorganized :
- xsd_parser.pas XML schema parser
  - wsdl_parser.pas WSDL parser ( uses xsd_parser to parse type definitions )

ws_helper now supports XML Schema ( .XSD files ) parsing.

test cases for XSD and WSDL parsers

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@264 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-09-09 22:30:50 +00:00
95fb7fb08f Delphi compiles ws_helper
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@254 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-09-02 19:05:47 +00:00
a670b3cc11 Record definition partialy supported in Type Library Editor
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@245 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-08-21 22:14:13 +00:00
11a897fc26 Object Pascal "record" serialization ( first commit! )
TTest_TIntfPoolItem
TTest_TSimpleItemFactory
TTest_XmlRpcFormatterExceptionBlock
TTest_SoapFormatterExceptionBlock
Record serialization test

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@243 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-08-19 00:29:43 +00:00
1b7b1d4349 fix wsdl parametter ambiguity
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@238 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-08-13 15:50:55 +00:00
726114b2ae Delphi pooling is ok
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@215 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-07-18 11:23:56 +00:00
5ce9841611 Delphi server side support ( binary, soap, xmlrpc ):
- the Indy http_server compile and works
 - for xml, the Delphi xmldom unit as used ( tested with msxml )

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@213 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-07-13 22:33:55 +00:00
65f4a3dffd + TStringBufferRemotable = reading a node's raw buffer
+ Better Delphi support : client & server( new )
    - SOAP, XMLRPC and BINARY formats

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@212 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-07-12 14:46:45 +00:00
549deb3e6d lazarus IDE integration :
- WSDL file import ( GUI ) menu   Project/Web Services Toolkit/Import WSDL File ...
  - WSDL Type Library Editor ( GUI ) Project/Web Services Toolkit/Type Library Editor...


git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@209 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-07-07 20:56:01 +00:00
63754badc0 switching the internal pascal parser to fcl-passrc
type_lib_edtr: type library editor

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@190 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-06-24 23:33:51 +00:00
2a350f8827 preparing for the 0.4 release
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@159 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-05-05 19:05:01 +00:00
44f1a2f5da ws_helper :
+ wst_CreateInstance_<service_name>();
      new function to create a default proxy based on the address and params provided by the wsdl file.

wst runtime :
  + GetServiceDefaultFormatProperties()
  + GetServiceDefaultAddress()

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@153 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-04-26 23:23:41 +00:00
7d05065529 ws_helper : Better attribute parsing in nested types
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@145 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-04-17 00:52:02 +00:00
bbeed9acfd ws_helper : nested type definition parsing
Example :
	        <xs:element name="NestedType">
	                <xs:complexType>
	                        <xs:sequence>
	                                <xs:element name="Property_1" type="xs:string"/>
	                                <xs:element name="Property_2" minOccurs="0" maxOccurs="unbounded">
      		                              <xs:complexType>
      	                                          <xs:sequence>
      	                                                 <xs:element name="Name" type="xs:string"/>
      	                                                 <xs:element name="Value" type="xs:string"/>
      	                                          </xs:sequence>
      	                                </xs:complexType>
	                                </xs:element>
	                        </xs:sequence>
	                </xs:complexType>
	        </xs:element>

ws_helper : Soap Binding Style are now recorded in the metadata registration subroutine generated by ws_helper


git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@144 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-04-12 00:48:00 +00:00
2090bf84b2 ws_helper parses ( and records in procedure Register_%service%_ServiceMetadata() )
- service/port for <soap:address>
  - binding/operation for "soapAction"
  
ws_helper : better parsing of "function" operations

ws_helper supports a new switch :
  -u MODE Generate the pascal translation of the WSDL input file
       MODE value may be U for used types or A for all types


Complexe types extending with simpleContent support in the runtime and ws_helper :
   sample WSDL type
  	<xs:complexType name="MeasureType">
  		<xs:simpleContent>
  			<xs:extension base="xs:decimal">
  				<xs:attribute name="UnitSystem" type="xs:token" use="optional">
  				</xs:attribute>
  				<xs:attribute name="ZeroPoint" type="string" use="optional">
  				</xs:attribute>
  			</xs:extension>
  		</xs:simpleContent>
  	</xs:complexType> 


embedded array support :
   sample WSDL type
      <xsd:complexType name="EmbeddeArraySample">
        <xsd:sequence>
          <xsd:element name="Name" type="xsd:string"/>
          <xsd:element name="Count" type="xsd:int"/>
          <xsd:element name="ArrayItem" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>

   sample instance of "EmbeddeArraySample"
      <example>
        <Name>WST NAME</Name>
        <Count>3</Count>
        <ArrayItem>Item 0</ArrayItem>
        <ArrayItem>Item 1</ArrayItem>
        <ArrayItem>Item 2</ArrayItem>
      </example>

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@139 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-04-02 13:19:48 +00:00
49b0c3d159 soapAction parsing for operation, soap:address ( location ) parsing
TServiceOperation now has Properties ( see IModuleMetadataMngr.SetServiceCustomData ),
Code has been refactored to use ParseFilter() instead using TRttiFilterCreator

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@136 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-03-25 23:47:16 +00:00
0071bd8371 First implementation of the "WSDL to Pascal" fonctionality support in ws_helper.
ws_helper now has the following parameters :
  ws_helper [-u] [-p] [-b] [-i] [-oPATH] inputFilename
    -u  Generate the pascal translation of the WSDL input file
    -p  Generate service proxy
    -b  Generate service binder
    -i  Generate service minimal implementation
    -o  PATH  Relative output directory
    -a  PATH  Absolute output directory

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@135 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-03-23 23:22:35 +00:00
b5ff30595d git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@37 8e941d3f-bd1b-0410-a28a-d453659cc2b4 2006-11-12 13:31:22 +00:00
35695810f7 git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@31 8e941d3f-bd1b-0410-a28a-d453659cc2b4 2006-10-28 17:04:49 +00:00
4381e28da6 first import
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2006-08-26 00:35:42 +00:00