Commit Graph

50 Commits

Author SHA1 Message Date
34030812f8 Serialization : By default, attributes are no longer qualified.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1114 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2010-01-05 19:59:56 +00:00
d639b8d8d0 DateTime, Duration and Time argument creation ( Avoid AV )
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@976 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-10-07 13:06:19 +00:00
5089c12136 Test suite : fix memory leaks.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@914 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-16 17:41:03 +00:00
f597caeb28 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@910 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-16 11:18:21 +00:00
54ff0827eb Correct 64bit compilation error.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@906 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-14 14:23:07 +00:00
3b875dfea2 XSD Date related implementations :
* TDurationRemotable : duration 
  * TTimeRemotable : time 
  * TDateRemotable : date
  * TDateTimeRemotable : dateTime


git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@901 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-08 18:52:13 +00:00
ed00c63b47 TTDurationRemotable and TTimeRemotable and TDateRemotable now use an uniform API :
* ToStr()
  * Parse()

Note that this patch break compatibility a source level ( of these classes ).

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@898 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-07 10:45:45 +00:00
6ab87b285d TDurationRemotable and TTimeRemotable implementation + tests
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@896 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-06 16:21:25 +00:00
3670ae0745 JSON : native Int64 support through fcl-json ( only on fpc trunck )
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@894 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-03 10:38:07 +00:00
60af6c3393 json : Disable large U/Int64 tests
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@892 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-07-02 11:25:14 +00:00
ae486ffc8b XMLRPC Serializer : type free data defaults to string
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@880 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-06-29 13:39:17 +00:00
73d1b45eb8 Serialiers : exceptions are no longer used internally to signal missing optional properties.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@875 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-06-29 01:57:44 +00:00
0382194dd1 fix TAbstractSimpleRemotable serialization ( test case )
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@868 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-06-27 22:30:54 +00:00
abf1f15cde * Serialization : array and collection now have a "Options" property that can be used to indicate that they should be serialized, empty or not. To do so just include "ioAlwaysSerialize" in the "Options" property of the instance you want to customize.
* Test

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@861 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-06-25 13:54:10 +00:00
b0d48481ec XMLRPC/SOAP serializers: Better Boolean handling, fix Delphi bug
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@855 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-06-18 17:03:43 +00:00
423ca16d13 Better handling of "LowgWord" and "QWord" in the serializers.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@852 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-06-17 19:03:05 +00:00
fe7e4d82a9 serialization :
* Empty array should not be serialized
  * When reading a array, if there is no array in the serialized stream, the input argument should be cleaned

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@818 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-06-01 22:28:39 +00:00
6315b87d48 Complex objects serialization : serializer objects must be notified for external property name registration and update themself accordingly.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@817 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-05-31 19:00:10 +00:00
1ce28d56b6 64 bit integer handling in JSON format
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@807 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-05-24 15:26:40 +00:00
58ab4fd6c9 Fix SOAP ReadBuffer implementation
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@796 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-05-12 10:47:04 +00:00
be86fa976b Delphi compatibility fix
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@740 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2009-03-13 17:10:21 +00:00
de258de519 Delphi 2009 support
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@626 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-12-12 22:02:35 +00:00
57c2b5443f delete unnecessary file generation
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@590 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-10-09 16:35:03 +00:00
d80a5005f6 Win64 extended floating fix
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@572 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-09-25 02:20:10 +00:00
f44dad52d7 WideString and UnicodeString support by the Type Library Editor/ws_helper
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@562 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-09-17 01:45:04 +00:00
2cb02c46ec AnsiChar and WideChar support in WST runtime
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@560 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-09-15 02:30:43 +00:00
5a497d957a Part 2
FPC UnicodeString support (+ test cases)
WideString support (+ test cases)

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@556 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-09-13 15:19:20 +00:00
d11e89466f Part 4
runtime WSDL generation : 
  * class inheritance is handled correctly
  * record type handling
  * tests
several warnings get fixed

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@544 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-09-10 01:23:29 +00:00
7296df02a0 +Serialization of compound element ( TBaseComplexRemotable ) is now handle by TObjectSerializer that can read/write elements of different name spaces
+Fix server side SOAP headers reading.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@533 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-08-24 13:33:06 +00:00
2549456a52 Keep the Soap Style even after an exception
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@504 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-07-03 16:27:23 +00:00
b48c112f91 boolean are now serialized as 'true' or 'false'
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@501 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-07-01 19:38:55 +00:00
63905d2f68 Name space declared in parent nodes must be available to child node : for target name extracting; Thanks to Shaun Simpson.
+ update
  + test case 

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@479 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-06-09 15:04:39 +00:00
5d0a26261e Code organization
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@468 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-06-06 15:08:33 +00:00
683d9d9f9d resync
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@304 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-12-29 17:21:48 +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
56ce4246c0 Delphi6 compatibility fix
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@285 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-11-12 09:21:46 +00:00
343b11db66 wsdl parser : assume style=document binding if not specified
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@277 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-10-19 15:30:20 +00:00
1069954eba Record support :
- Field may be hidden by calling SetFieldSerializationVisibility()
  - Field may be mapped to XML Attribute by calling RegisterAttributeProperty()

Some methods and routines have been marked "inline". By default the "inline" modifier is not enable. To enable it
uncomment the "//{$DEFINE USE_INLINE}" line in wst_global.inc.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@244 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-08-19 21:04:16 +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
22093d6e75 test suite to use CThread on unix systems
save serialized streams to files 

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@231 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-07-31 10:48:24 +00:00
c8296c17b9 PowerPC compatibility fix ( from Philip J Hess )
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@227 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-07-28 20:05:58 +00:00
02efb4cb8a + add delphi DUnit (9.3) test suite
delphi compatibility 

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@224 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-07-25 00:30:44 +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
ba1e2d2d2b xml rpc start
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@194 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2007-06-26 20:42:29 +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
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