version 1.2
This commit is contained in:
parent
b56c2d0841
commit
13fe3d8cff
BIN
.vs/slnx.sqlite
BIN
.vs/slnx.sqlite
Binary file not shown.
@ -18,6 +18,7 @@ Public Class AppConfig
|
|||||||
values.queryIgnore = settings.Item("dpma_query_ignore").Value
|
values.queryIgnore = settings.Item("dpma_query_ignore").Value
|
||||||
values.connstring = settings.Item("sql_connstring").Value
|
values.connstring = settings.Item("sql_connstring").Value
|
||||||
values.database = settings.Item("sql_database").Value
|
values.database = settings.Item("sql_database").Value
|
||||||
|
values.searchType = settings.Item("search_type").Value
|
||||||
|
|
||||||
Return values
|
Return values
|
||||||
End Function
|
End Function
|
||||||
@ -38,6 +39,7 @@ Public Class ConfigValues
|
|||||||
Public queryIgnore As String
|
Public queryIgnore As String
|
||||||
Public connstring As String
|
Public connstring As String
|
||||||
Public database As String
|
Public database As String
|
||||||
|
Public searchType As String
|
||||||
|
|
||||||
Public Sub New()
|
Public Sub New()
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@ -23,8 +23,8 @@ Public Class DB
|
|||||||
Return String.Format("[{0}].[dbo].[{1}]", _db, table)
|
Return String.Format("[{0}].[dbo].[{1}]", _db, table)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function GetFormId() As Integer
|
Public Function GetFormIdFor(entityName As String) As Integer
|
||||||
Dim sql = String.Format("SELECT GUID FROM {0} WHERE NAME = '{1}'", Me.formatTable("TBPMO_FORM"), "Marken")
|
Dim sql = String.Format("SELECT GUID FROM {0} WHERE NAME = '{1}'", Me.formatTable("TBPMO_FORM"), entityName)
|
||||||
Return Me.Scalar(sql)
|
Return Me.Scalar(sql)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ Public Class DB
|
|||||||
Return Me.Scalar(sql)
|
Return Me.Scalar(sql)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function GetProperty(m As Mark, propertyName As String) As Object
|
Public Function GetPropertyMark(m As Mark, propertyName As String) As Object
|
||||||
_logger.Debug("Reading property: {0}, Mark? {1}", propertyName, IsNothing(m))
|
_logger.Debug("Reading property: {0}, Mark? {1}", propertyName, IsNothing(m))
|
||||||
Dim value = CallByName(m, propertyName, CallType.Get)
|
Dim value = CallByName(m, propertyName, CallType.Get)
|
||||||
If (value = Nothing) Then
|
If (value = Nothing) Then
|
||||||
@ -43,6 +43,16 @@ Public Class DB
|
|||||||
Return value
|
Return value
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function GetPropertyPatent(p As Patent, propertyName As String) As Object
|
||||||
|
_logger.Debug("Reading property: {0}, Patent? {1}", propertyName, IsNothing(p))
|
||||||
|
Dim value = CallByName(p, propertyName, CallType.Get)
|
||||||
|
If (value = Nothing) Then
|
||||||
|
value = DBNull.Value
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return value
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Function IsEqual(controlId As Integer, recordId As Integer, valueToCompare As Object)
|
Public Function IsEqual(controlId As Integer, recordId As Integer, valueToCompare As Object)
|
||||||
Dim table = Me.formatTable("TBPMO_CONTROL_VALUE")
|
Dim table = Me.formatTable("TBPMO_CONTROL_VALUE")
|
||||||
Dim sql = String.Format("SELECT VALUE FROM {0} WHERE CONTROL_ID = {1} AND RECORD_ID = {2}", table, controlId, recordId)
|
Dim sql = String.Format("SELECT VALUE FROM {0} WHERE CONTROL_ID = {1} AND RECORD_ID = {2}", table, controlId, recordId)
|
||||||
@ -63,7 +73,7 @@ Public Class DB
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function InsertRecord(formId As Integer)
|
Public Function InsertRecord(formId As Integer)
|
||||||
Dim sql = String.Format("INSERT INTO {0} (FORM_ID, ADDED_WHO) VALUES ({1}, '{2}')", Me.formatTable("TBPMO_RECORD"), formId, Username)
|
Dim sql = String.Format("INSERT INTO {0} (FORM_ID, ADDED_WHO, RECORD_ENTITY_ID, PARENT_RECORD) VALUES ({1}, '{2}', {1}, 0)", Me.formatTable("TBPMO_RECORD"), formId, Username)
|
||||||
Me.NonQuery(sql)
|
Me.NonQuery(sql)
|
||||||
Return Me.Scalar("SELECT MAX(GUID) FROM TBPMO_RECORD")
|
Return Me.Scalar("SELECT MAX(GUID) FROM TBPMO_RECORD")
|
||||||
End Function
|
End Function
|
||||||
@ -72,14 +82,14 @@ Public Class DB
|
|||||||
#Region "=== VALUES ==="
|
#Region "=== VALUES ==="
|
||||||
Public Function InsertValue(controlId As Integer, recordId As Integer, value As Object)
|
Public Function InsertValue(controlId As Integer, recordId As Integer, value As Object)
|
||||||
Dim table = Me.formatTable("TBPMO_CONTROL_VALUE")
|
Dim table = Me.formatTable("TBPMO_CONTROL_VALUE")
|
||||||
Dim sql = String.Format("INSERT INTO {0} (CONTROL_ID, RECORD_ID, VALUE) VALUES ({1}, {2}, '{3}')", table, controlId, recordId, value)
|
Dim sql = String.Format("INSERT INTO {0} (CONTROL_ID, RECORD_ID, VALUE, ADDED_WHO) VALUES ({1}, {2}, '{3}', '{4}')", table, controlId, recordId, value, Username)
|
||||||
Me.NonQuery(sql)
|
Me.NonQuery(sql)
|
||||||
Return Me.Scalar(String.Format("SELECT MAX(GUID) FROM {0} WHERE CONTROL_ID = {1}", table, controlId))
|
Return Me.Scalar(String.Format("SELECT MAX(GUID) FROM {0} WHERE CONTROL_ID = {1}", table, controlId))
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Sub UpdateValue(controlId As Integer, recordId As Integer, value As Object)
|
Public Sub UpdateValue(controlId As Integer, recordId As Integer, value As Object)
|
||||||
Dim table = Me.formatTable("TBPMO_CONTROL_VALUE")
|
Dim table = Me.formatTable("TBPMO_CONTROL_VALUE")
|
||||||
Dim sql = String.Format("UPDATE {0} SET VALUE = '{1}' WHERE CONTROL_ID = {2} AND RECORD_ID = {3}", table, value, controlId, recordId)
|
Dim sql = String.Format("UPDATE {0} SET VALUE = '{1}', CHANGED_WHO = '{4}' WHERE CONTROL_ID = {2} AND RECORD_ID = {3} ", table, value, controlId, recordId, Username)
|
||||||
Me.NonQuery(sql)
|
Me.NonQuery(sql)
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
|
|||||||
@ -1,16 +1,20 @@
|
|||||||
Imports DpmaXmlParser.DPMA.Marke
|
Imports DpmaXmlParser.DPMA.Marke
|
||||||
|
Imports DpmaXmlParser.DPMA.Patent
|
||||||
Imports System.Xml
|
Imports System.Xml
|
||||||
|
|
||||||
Public Class DPMAConnect
|
Public Class DPMAConnectMarks
|
||||||
Private _service As DPMAregisterClient
|
Private _service As DPMA.Marke.DPMAregisterClient
|
||||||
|
|
||||||
Private _user As String
|
Private _user As String
|
||||||
Private _pass As String
|
Private _pass As String
|
||||||
|
Private _type As String
|
||||||
|
|
||||||
Public Sub New(username As String, password As String)
|
Public Sub New(username As String, password As String, type As String)
|
||||||
_user = username
|
_user = username
|
||||||
_pass = password
|
_pass = password
|
||||||
|
_type = type
|
||||||
|
|
||||||
_service = New DPMAregisterClient()
|
_service = New DPMA.Marke.DPMAregisterClient()
|
||||||
_service.Open()
|
_service.Open()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@ -26,7 +30,6 @@ Public Class DPMAConnect
|
|||||||
If Not IsNothing(ErrorMessage) Then
|
If Not IsNothing(ErrorMessage) Then
|
||||||
Throw New Exception(ErrorMessage.InnerText)
|
Throw New Exception(ErrorMessage.InnerText)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Throw ex
|
Throw ex
|
||||||
End Try
|
End Try
|
||||||
@ -48,4 +51,8 @@ Public Class DPMAConnect
|
|||||||
|
|
||||||
Return doc
|
Return doc
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
77
app/DpmaXmlParser/DPMAConnectPatents.vb
Normal file
77
app/DpmaXmlParser/DPMAConnectPatents.vb
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
Imports DpmaXmlParser.DPMA.Patent
|
||||||
|
Imports System.Xml
|
||||||
|
|
||||||
|
Public Class DPMAConnectPatents
|
||||||
|
Private _service As DPMAregisterClient
|
||||||
|
|
||||||
|
Private _user As String
|
||||||
|
Private _pass As String
|
||||||
|
Private _type As String
|
||||||
|
|
||||||
|
Public Sub New(username As String, password As String, type As String)
|
||||||
|
_user = username
|
||||||
|
_pass = password
|
||||||
|
_type = type
|
||||||
|
|
||||||
|
_service = New DPMA.Patent.DPMAregisterClient()
|
||||||
|
_service.Open()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Function SearchPatents(query As String) As XmlDocument
|
||||||
|
Dim doc As New XmlDocument()
|
||||||
|
Dim xmlstring As String
|
||||||
|
|
||||||
|
Try
|
||||||
|
xmlstring = _service.search(_user, _pass, query)
|
||||||
|
doc.LoadXml(xmlstring)
|
||||||
|
|
||||||
|
Dim ErrorMessage = doc.SelectSingleNode("Hitlist/ErrorMessage")
|
||||||
|
If Not IsNothing(ErrorMessage) Then
|
||||||
|
Throw New Exception(ErrorMessage.InnerText)
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
Throw ex
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return doc
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function Search(query As String) As XmlDocument
|
||||||
|
Dim doc As New XmlDocument()
|
||||||
|
Dim xmlstring As String
|
||||||
|
|
||||||
|
Try
|
||||||
|
xmlstring = _service.search(_user, _pass, query)
|
||||||
|
doc.LoadXml(xmlstring)
|
||||||
|
|
||||||
|
Dim ErrorMessage = doc.SelectSingleNode("Hitlist/ErrorMessage")
|
||||||
|
If Not IsNothing(ErrorMessage) Then
|
||||||
|
Throw New Exception(ErrorMessage.InnerText)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
Throw ex
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return doc
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function GetRegisterInfo(aktenzeichen As String) As XmlDocument
|
||||||
|
Dim doc As New XmlDocument()
|
||||||
|
Dim xmlstring As String
|
||||||
|
|
||||||
|
Try
|
||||||
|
xmlstring = _service.getRegisterInfo(_user, _pass, aktenzeichen)
|
||||||
|
'xmlstring = _service.getRegisterInfoBySt13Akz(_user, _pass, aktenzeichen)
|
||||||
|
doc.LoadXml(xmlstring)
|
||||||
|
Catch ex As Exception
|
||||||
|
Throw ex
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return doc
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
End Class
|
||||||
@ -13,9 +13,20 @@
|
|||||||
<endpoint address="http://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterMarkeService"
|
<endpoint address="http://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterMarkeService"
|
||||||
binding="basicHttpBinding" bindingConfiguration="DPMAregisterSoapBinding"
|
binding="basicHttpBinding" bindingConfiguration="DPMAregisterSoapBinding"
|
||||||
contract="DPMA.Marke.DPMAregister" name="DPMAregister" />
|
contract="DPMA.Marke.DPMAregister" name="DPMAregister" />
|
||||||
|
<endpoint address="http://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterPatService"
|
||||||
|
binding="basicHttpBinding" bindingConfiguration="DPMAregisterSoapBinding"
|
||||||
|
contract="DPMA.Patent.DPMAregister" name="DPMAregister" />
|
||||||
</client>
|
</client>
|
||||||
</system.serviceModel>
|
</system.serviceModel>
|
||||||
<appSettings>
|
<appSettings>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Was soll gesucht werden?
|
||||||
|
M = Marken (setzt eine Entität mit dem Namen "Marken" vorraus)
|
||||||
|
P = Patente (setzt eine Entität mit dem Namen "Patente" vorraus)
|
||||||
|
-->
|
||||||
|
<add key="search_type" value="P" />
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Die Zugangangsdaten, die für den Zugriff auf die DPMA Datenbank benötigt werden.
|
Die Zugangangsdaten, die für den Zugriff auf die DPMA Datenbank benötigt werden.
|
||||||
Mehr Informationen finden Sie unter https://register.dpma.de/DPMAregister/Uebersicht
|
Mehr Informationen finden Sie unter https://register.dpma.de/DPMAregister/Uebersicht
|
||||||
@ -28,7 +39,7 @@
|
|||||||
<add key="dpma_query" value="SELECT [Unternehmen] FROM [MeineDatenbank].[dbo].[Unternehmen] WHERE ProdUnternehmen = 1 ORDER BY Unternehmen"/>
|
<add key="dpma_query" value="SELECT [Unternehmen] FROM [MeineDatenbank].[dbo].[Unternehmen] WHERE ProdUnternehmen = 1 ORDER BY Unternehmen"/>
|
||||||
-->
|
-->
|
||||||
<!--<add key="dpma_query" value="FirmaA;FirmaB;FirmaC"/>-->
|
<!--<add key="dpma_query" value="FirmaA;FirmaB;FirmaC"/>-->
|
||||||
<add key="dpma_query" value="RENOLIT"/>
|
<add key="dpma_query" value="Renolit SE;Renolit AG;Renolit JM Holding;Renolit Werke GmbH;Renolit Haus GmbH;Renolit Gor S.P.A."/>
|
||||||
<!--
|
<!--
|
||||||
queryIgnore erwartet eine mit Semikolon getrennte Liste, die EXPLIZIT NICHT im Ergebnis enthalten sein sollen
|
queryIgnore erwartet eine mit Semikolon getrennte Liste, die EXPLIZIT NICHT im Ergebnis enthalten sein sollen
|
||||||
-->
|
-->
|
||||||
@ -38,10 +49,10 @@
|
|||||||
Beispiel:
|
Beispiel:
|
||||||
<add key="sql_connstring" value="Data Source=1.2.3.4\test;Initial Catalog=DB_TEST;Persist Security Info=True;User ID=testuser;Password=testpass"/>
|
<add key="sql_connstring" value="Data Source=1.2.3.4\test;Initial Catalog=DB_TEST;Persist Security Info=True;User ID=testuser;Password=testpass"/>
|
||||||
-->
|
-->
|
||||||
<add key="sql_connstring" value="Data Source=1.2.3.4\test;Initial Catalog=DB_TEST;Persist Security Info=True;User ID=testuser;Password=testpass"/>
|
<add key="sql_connstring" value="Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_RENOLIT;Persist Security Info=True;User ID=sa;Password=dd"/>
|
||||||
<!--
|
<!--
|
||||||
Die Datenbank, in die das Ergebnis eingelesen wird und die Datenbank, die Record-Organizer/ADDI benutzt
|
Die Datenbank, in die das Ergebnis eingelesen wird und die Datenbank, die Record-Organizer/ADDI benutzt
|
||||||
-->
|
-->
|
||||||
<add key="sql_database" value="DB_TEST" />
|
<add key="sql_database" value="DD_ECM_RENOLIT" />
|
||||||
</appSettings>
|
</appSettings>
|
||||||
</configuration>
|
</configuration>
|
||||||
@ -93,7 +93,10 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Config.vb" />
|
<Compile Include="Config.vb" />
|
||||||
<Compile Include="DB.vb" />
|
<Compile Include="DB.vb" />
|
||||||
<Compile Include="DPMAConnect.vb" />
|
<Compile Include="DPMAConnectPatents.vb" />
|
||||||
|
<Compile Include="DPMAConnectMarks.vb" />
|
||||||
|
<Compile Include="ImporterMarks.vb" />
|
||||||
|
<Compile Include="ImporterPatents.vb" />
|
||||||
<Compile Include="Mark.vb" />
|
<Compile Include="Mark.vb" />
|
||||||
<Compile Include="Main.vb" />
|
<Compile Include="Main.vb" />
|
||||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||||
@ -111,13 +114,22 @@
|
|||||||
<DependentUpon>Settings.settings</DependentUpon>
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Parser.vb" />
|
<Compile Include="ParserMarks.vb" />
|
||||||
<Compile Include="Querybuilder.vb" />
|
<Compile Include="ParserPatents.vb" />
|
||||||
|
<Compile Include="Patent.vb" />
|
||||||
|
<Compile Include="QuerybuilderMarks.vb" />
|
||||||
|
<Compile Include="QueryBuilderPatents.vb" />
|
||||||
<Compile Include="Service References\DPMA.Marke\Reference.vb">
|
<Compile Include="Service References\DPMA.Marke\Reference.vb">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DesignTime>True</DesignTime>
|
<DesignTime>True</DesignTime>
|
||||||
<DependentUpon>Reference.svcmap</DependentUpon>
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Service References\DPMA.Patent\Reference.vb">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Utils.vb" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="My Project\Resources.resx">
|
<EmbeddedResource Include="My Project\Resources.resx">
|
||||||
@ -128,6 +140,22 @@
|
|||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="Service References\DPMA.Patent\DpmaXmlParser.DPMA.Patent.getRegisterInfoResponse.datasource">
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</None>
|
||||||
|
<None Include="Service References\DPMA.Patent\DpmaXmlParser.DPMA.Patent.searchResponse.datasource">
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</None>
|
||||||
|
<None Include="Service References\DPMA.Patent\DpmaXmlParser.DPMA.Patent.versionResponse.datasource">
|
||||||
|
<DependentUpon>Reference.svcmap</DependentUpon>
|
||||||
|
</None>
|
||||||
|
<None Include="Service References\DPMA.Patent\Reference.svcmap">
|
||||||
|
<Generator>WCF Proxy Generator</Generator>
|
||||||
|
<LastGenOutput>Reference.vb</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<None Include="Service References\DPMA.Patent\configuration.svcinfo" />
|
||||||
|
<None Include="Service References\DPMA.Patent\configuration91.svcinfo" />
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="DpmaXmlParser.exe.config.example">
|
<None Include="DpmaXmlParser.exe.config.example">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
@ -156,12 +184,14 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
<None Include="Service References\DPMA.Marke\DPMAregisterMarkeService.wsdl" />
|
<None Include="Service References\DPMA.Marke\DPMAregisterMarkeService.wsdl" />
|
||||||
|
<None Include="Service References\DPMA.Patent\DPMAregisterPatService.wsdl" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<WCFMetadata Include="Service References\" />
|
<WCFMetadata Include="Service References\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<WCFMetadataStorage Include="Service References\DPMA.Marke\" />
|
<WCFMetadataStorage Include="Service References\DPMA.Marke\" />
|
||||||
|
<WCFMetadataStorage Include="Service References\DPMA.Patent\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Service References\DPMA.Marke\configuration91.svcinfo" />
|
<None Include="Service References\DPMA.Marke\configuration91.svcinfo" />
|
||||||
|
|||||||
43
app/DpmaXmlParser/ImporterMarks.vb
Normal file
43
app/DpmaXmlParser/ImporterMarks.vb
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
Imports System.IO
|
||||||
|
Imports System.Xml
|
||||||
|
|
||||||
|
Public Class ImporterMarks
|
||||||
|
Private Shared dpmaMarks As DPMAConnectMarks
|
||||||
|
Private Shared parserMarks As New ParserMarks()
|
||||||
|
Private Shared marks As New List(Of Mark)
|
||||||
|
|
||||||
|
Public Shared Function FromDPMA()
|
||||||
|
Dim query = QuerybuilderMarks.Build(config, database)
|
||||||
|
Dim mainDoc As XmlDocument
|
||||||
|
Dim markDoc As XmlDocument
|
||||||
|
|
||||||
|
logger.Info("Sending request with query: \n\n {0}", query)
|
||||||
|
logger.Info("Search Type: Marks")
|
||||||
|
|
||||||
|
dpmaMarks = New DPMAConnectMarks(config.username, config.password, config.searchType)
|
||||||
|
|
||||||
|
mainDoc = dpmaMarks.Search(query)
|
||||||
|
mainDoc.Save(MainPathMarks)
|
||||||
|
|
||||||
|
' Ergebnis auslesen und Marken-Klassen erstellen
|
||||||
|
marks = parserMarks.ReadMarkXMLFile(MainPathMarks)
|
||||||
|
|
||||||
|
logger.Info("Importing Marks..")
|
||||||
|
|
||||||
|
For Each mark As Mark In marks
|
||||||
|
Dim akz As String = mark.ApplicationNumber
|
||||||
|
Dim file As String = Path.Combine(DataDir, $"Mark-Data-{akz}.xml")
|
||||||
|
|
||||||
|
logger.Debug($"Getting Register Info for Mark {akz}")
|
||||||
|
|
||||||
|
markDoc = dpmaMarks.GetRegisterInfo(akz)
|
||||||
|
markDoc.Save(file)
|
||||||
|
|
||||||
|
parserMarks.ReadMarkRegisterInfoXMLFile(file, mark)
|
||||||
|
Next
|
||||||
|
|
||||||
|
logger.Info("{0} Marks imported", marks.Count)
|
||||||
|
|
||||||
|
Return marks
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
43
app/DpmaXmlParser/ImporterPatents.vb
Normal file
43
app/DpmaXmlParser/ImporterPatents.vb
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
Imports System.IO
|
||||||
|
Imports System.Xml
|
||||||
|
|
||||||
|
Public Class ImporterPatents
|
||||||
|
Private Shared dpmaPatents As DPMAConnectPatents
|
||||||
|
Private Shared parserPatents As New ParserPatents()
|
||||||
|
Private Shared patents As New List(Of Patent)
|
||||||
|
|
||||||
|
Public Shared Function FromDPMA()
|
||||||
|
Dim query = QueryBuilderPatents.Build(config, database)
|
||||||
|
Dim mainDoc As XmlDocument
|
||||||
|
Dim patentDoc As XmlDocument
|
||||||
|
|
||||||
|
logger.Info("Sending request with query: \n\n {0}", query)
|
||||||
|
logger.Info("Search Type: Patents")
|
||||||
|
|
||||||
|
dpmaPatents = New DPMAConnectPatents(config.username, config.password, config.searchType)
|
||||||
|
|
||||||
|
mainDoc = dpmaPatents.Search(query)
|
||||||
|
mainDoc.Save(MainPathPatents)
|
||||||
|
|
||||||
|
' Ergebnis auslesen und Patent-Klassen erstellen
|
||||||
|
patents = ParserPatents.ReadPatentXMLFile(MainPathPatents)
|
||||||
|
|
||||||
|
logger.Info("Importing Patents..")
|
||||||
|
|
||||||
|
For Each patent In patents
|
||||||
|
Dim akz As String = patent.LeadingRegisteredNumber
|
||||||
|
Dim file As String = Path.Combine(DataDir, $"Patent-Data-{akz}.xml")
|
||||||
|
|
||||||
|
logger.Debug($"Getting Register Info for Patent {akz}")
|
||||||
|
|
||||||
|
patentDoc = dpmaPatents.GetRegisterInfo(akz)
|
||||||
|
patentDoc.Save(file)
|
||||||
|
|
||||||
|
ParserPatents.ReadPatentRegisterInfoXMLFile(file, patent)
|
||||||
|
Next
|
||||||
|
|
||||||
|
logger.Info("{0} Patents imported", patents.Count)
|
||||||
|
|
||||||
|
Return patents
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
@ -4,26 +4,21 @@ Imports System.Xml
|
|||||||
Imports NLog
|
Imports NLog
|
||||||
|
|
||||||
Module Main
|
Module Main
|
||||||
Private logger As Logger
|
|
||||||
|
|
||||||
Private mainDoc As XmlDocument
|
Private mainDoc As XmlDocument
|
||||||
Private markDoc As XmlDocument
|
Private markDoc As XmlDocument
|
||||||
|
Private patentDoc As XmlDocument
|
||||||
|
|
||||||
Private DataDir As String = "Data"
|
Private parserMarks As New ParserMarks()
|
||||||
Private LogDir As String = "Log"
|
Private parserPatents As New ParserPatents()
|
||||||
|
|
||||||
Private MainFile As String = "Importer-SearchData.xml"
|
Private dpmaPatents As DPMAConnectPatents
|
||||||
Private MainPath As String = Path.Combine(DataDir, MainFile)
|
Private dpmaMarks As DPMAConnectMarks
|
||||||
|
|
||||||
Private p As New Parser()
|
|
||||||
Private dpma As DPMAConnect
|
|
||||||
Private db As DB
|
|
||||||
|
|
||||||
Private query As String
|
Private query As String
|
||||||
Private config As ConfigValues
|
|
||||||
Private version As String
|
Private version As String
|
||||||
Private marks As New List(Of Mark)
|
|
||||||
Private props = New List(Of String) From {
|
Private patents As New List(Of Patent)
|
||||||
|
Private propsMarks = New List(Of String) From {
|
||||||
"RegistrationOfficeCode",
|
"RegistrationOfficeCode",
|
||||||
"RegistrationDate",
|
"RegistrationDate",
|
||||||
"RegistrationNumber",
|
"RegistrationNumber",
|
||||||
@ -42,11 +37,38 @@ Module Main
|
|||||||
"ClassificationLong"
|
"ClassificationLong"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Private propsPatents = New List(Of String) From {
|
||||||
|
"LeadingRegisteredNumber", ' Aktenzeichen
|
||||||
|
"Type", ' Schutzrechtsart
|
||||||
|
"Status", ' Status
|
||||||
|
"Title", ' Titel
|
||||||
|
"ICM", 'IPC-Klasse
|
||||||
|
"ApplicationDate",
|
||||||
|
"PublicationDate",
|
||||||
|
"Inventors",
|
||||||
|
"Applicants",
|
||||||
|
"Abstract"
|
||||||
|
}
|
||||||
|
|
||||||
|
Public DataDir As String = "Data"
|
||||||
|
Public LogDir As String = "Log"
|
||||||
|
|
||||||
|
Public MainFileMarks As String = "DPMA-Marks.xml"
|
||||||
|
Public MainFilePatents As String = "DPMA-Patents.xml"
|
||||||
|
Public MainPathMarks As String = Path.Combine(DataDir, MainFileMarks)
|
||||||
|
Public MainPathPatents As String = Path.Combine(DataDir, MainFilePatents)
|
||||||
|
|
||||||
|
Public logger As Logger
|
||||||
|
Public config As ConfigValues
|
||||||
|
Public database As DB
|
||||||
|
|
||||||
|
|
||||||
Sub Main()
|
Sub Main()
|
||||||
Try
|
Try
|
||||||
logger = LogManager.GetLogger("Main")
|
logger = LogManager.GetLogger("Main")
|
||||||
config = AppConfig.GetConfiguration()
|
config = AppConfig.GetConfiguration()
|
||||||
db = New DB(config.connstring, "DD_ECM")
|
|
||||||
|
database = New DB(config.connstring, config.database)
|
||||||
version = AppConfig.GetVersion()
|
version = AppConfig.GetVersion()
|
||||||
|
|
||||||
logger.Info("{0} (Version {1}) started", My.Application.Info.Title, version)
|
logger.Info("{0} (Version {1}) started", My.Application.Info.Title, version)
|
||||||
@ -59,143 +81,236 @@ Module Main
|
|||||||
Directory.CreateDirectory(LogDir)
|
Directory.CreateDirectory(LogDir)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
query = Querybuilder.Build(config, db)
|
Dim marks As New List(Of Mark)
|
||||||
|
Dim patents As New List(Of Patent)
|
||||||
|
|
||||||
' Abfrage starten
|
|
||||||
logger.Info("Sending request with query: {0}", query)
|
|
||||||
dpma = New DPMAConnect(config.username, config.password)
|
|
||||||
|
|
||||||
mainDoc = dpma.Search(query)
|
|
||||||
mainDoc.Save(MainPath)
|
|
||||||
|
|
||||||
' Ergebnis auslesen und Marken-Klassen erstellen
|
|
||||||
marks = p.ReadMarkXMLFile(MainPath)
|
|
||||||
|
|
||||||
logger.Info("Importing Marks..")
|
|
||||||
|
|
||||||
For Each mark As Mark In marks
|
|
||||||
Dim akz As String = mark.ApplicationNumber
|
|
||||||
Dim file As String = Path.Combine(DataDir, String.Format("Importer-RegisterData-{0}.xml", akz))
|
|
||||||
|
|
||||||
logger.Debug("Getting Register Info for {0}", akz)
|
|
||||||
|
|
||||||
markDoc = dpma.GetRegisterInfo(akz)
|
|
||||||
markDoc.Save(file)
|
|
||||||
|
|
||||||
p.ReadMarkRegisterInfoXMLFile(file, mark)
|
|
||||||
Next
|
|
||||||
|
|
||||||
logger.Info("{0} Marks imported", marks.Count)
|
|
||||||
|
|
||||||
' =========================================================================================
|
|
||||||
|
|
||||||
Dim formId As Integer = db.GetFormId()
|
|
||||||
Dim updatedMarks As Integer = 0
|
Dim updatedMarks As Integer = 0
|
||||||
Dim addedMarks As Integer = 0
|
Dim addedMarks As Integer = 0
|
||||||
|
Dim failedMarks As Integer = 0
|
||||||
|
|
||||||
For Each m As Mark In marks
|
Dim updatedPatents As Integer = 0
|
||||||
|
Dim addedPatents As Integer = 0
|
||||||
|
Dim failedPatents As Integer = 0
|
||||||
|
|
||||||
logger.Debug("Mark Verbal Element: {0}", m.MarkVerbalElementText)
|
' Abfrage starten
|
||||||
|
If config.searchType.Contains("M") Then
|
||||||
|
marks = ImporterMarks.FromDPMA()
|
||||||
|
|
||||||
Dim mainControlId As Integer
|
Dim formId As Integer = database.GetFormIdFor("Marken")
|
||||||
|
|
||||||
' Das eindeutige Control suchen
|
|
||||||
mainControlId = db.GetControlId(formId)
|
|
||||||
|
|
||||||
' Über mainControlId überprüfen, ob marke vorhanden
|
For Each m As Mark In marks
|
||||||
Dim markExists As Integer = db.GetRecordId(mainControlId, m.ApplicationNumber)
|
|
||||||
logger.Debug("Mark {0} exists: {1}", markExists, CBool(markExists))
|
|
||||||
|
|
||||||
' Wenn noch nicht vorhanden
|
logger.Debug("Mark Verbal Element: {0}", m.MarkVerbalElementText)
|
||||||
If (markExists = 0) Then
|
|
||||||
' Einen Record erstellen
|
|
||||||
Dim recordId = db.InsertRecord(formId)
|
|
||||||
logger.Info("New record created with GUID: " & recordId)
|
|
||||||
' Den Leit-Wert einfügen für mainControlId
|
|
||||||
Dim valueId = db.InsertValue(mainControlId, recordId, m.ApplicationNumber)
|
|
||||||
addedMarks = addedMarks + 1
|
|
||||||
logger.Debug("Value inserted - Property: {0}, Value: {1}, ControlId: {2}", "ApplicationNumber", m.ApplicationNumber, mainControlId)
|
|
||||||
|
|
||||||
' alle anderen properties zu dieser marke einfügen einfügen
|
Dim mainControlId As Integer
|
||||||
For Each prop As String In props
|
|
||||||
' ControlID für die aktuelle property holen
|
' Das eindeutige Control suchen
|
||||||
Dim controlId = db.GetControlId(formId, prop)
|
mainControlId = database.GetControlId(formId)
|
||||||
' Wert für die aktuelle property holen
|
|
||||||
Dim value = db.GetProperty(m, prop)
|
' Über mainControlId überprüfen, ob marke vorhanden
|
||||||
|
Dim markExists As Integer = database.GetRecordId(mainControlId, m.ApplicationNumber)
|
||||||
|
logger.Debug("Mark {0} exists: {1}", markExists, CBool(markExists))
|
||||||
|
|
||||||
|
' Wenn noch nicht vorhanden
|
||||||
|
If (markExists = 0) Then
|
||||||
|
Try
|
||||||
|
' Einen Record erstellen
|
||||||
|
Dim recordId = database.InsertRecord(formId)
|
||||||
|
logger.Info("New record created with GUID: " & recordId)
|
||||||
|
' Den Leit-Wert einfügen für mainControlId
|
||||||
|
Dim valueId = database.InsertValue(mainControlId, recordId, m.ApplicationNumber)
|
||||||
|
addedMarks = addedMarks + 1
|
||||||
|
logger.Debug("Value inserted - Property: {0}, Value: {1}, ControlId: {2}", "ApplicationNumber", m.ApplicationNumber, mainControlId)
|
||||||
|
|
||||||
|
' alle anderen properties zu dieser marke einfügen
|
||||||
|
For Each prop As String In propsMarks
|
||||||
|
' ControlID für die aktuelle property holen
|
||||||
|
Dim controlId = database.GetControlId(formId, prop)
|
||||||
|
' Wert für die aktuelle property holen
|
||||||
|
Dim value = database.GetPropertyMark(m, prop)
|
||||||
|
|
||||||
|
If controlId = 0 Then
|
||||||
|
logger.Warn("Value NOT inserted - ControlId for Property {0} could not be found.")
|
||||||
|
Continue For
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Wert einfügen
|
||||||
|
database.InsertValue(controlId, recordId, value)
|
||||||
|
|
||||||
|
' Wenn Bildmarke oder Wort- und Bildmarke, Bild einfügen
|
||||||
|
If prop = "MarkFeature" Then
|
||||||
|
If value = "wort-bildmarke" Or value = "bildmarke" Then
|
||||||
|
Dim imageControlId = database.GetControlId(formId, "MarkImage")
|
||||||
|
Dim bimage() As Byte = Convert.FromBase64String(m.Image.BinaryImage)
|
||||||
|
logger.Debug("Image inserted, RecordId: {0}")
|
||||||
|
database.InsertImage(bimage, imageControlId, recordId)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
logger.Debug("Value inserted - Property: {0}, Value: {1}, ControlId: {2}", prop, value, controlId)
|
||||||
|
Next
|
||||||
|
|
||||||
|
addedMarks += 1
|
||||||
|
Catch ex As Exception
|
||||||
|
logger.Error($"Exception while ADDING mark {m.ApplicationNumber}: {ex.Message}")
|
||||||
|
failedMarks += 1
|
||||||
|
|
||||||
If controlId = 0 Then
|
|
||||||
logger.Warn("Value NOT inserted - ControlId for Property {0} could not be found.")
|
|
||||||
Continue For
|
Continue For
|
||||||
End If
|
End Try
|
||||||
|
Else
|
||||||
|
Try
|
||||||
|
' Marke aktualisieren
|
||||||
|
Dim recordId As Integer = markExists
|
||||||
|
Dim propsChanged = False
|
||||||
|
|
||||||
' Wert einfügen
|
logger.Info("Existing Record updated with GUID: {0}", recordId)
|
||||||
db.InsertValue(controlId, recordId, value)
|
|
||||||
|
|
||||||
' Wenn Bildmarke oder Wort- und Bildmarke, Bild einfügen
|
For Each prop As String In propsMarks
|
||||||
If prop = "MarkFeature" Then
|
' ControlID für die aktuelle property holen
|
||||||
If value = "wort-bildmarke" Or value = "bildmarke" Then
|
Dim controlId = database.GetControlId(formId, prop)
|
||||||
Dim imageControlId = db.GetControlId(formId, "MarkImage")
|
' Wert für die aktuelle property holen
|
||||||
Dim bimage() As Byte = Convert.FromBase64String(m.Image.BinaryImage)
|
Dim value = database.GetPropertyMark(m, prop)
|
||||||
logger.Debug("Image inserted, RecordId: {0}")
|
|
||||||
db.InsertImage(bimage, imageControlId, recordId)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
logger.Debug("Value inserted - Property: {0}, Value: {1}, ControlId: {2}", prop, value, controlId)
|
' Wert aktualisieren
|
||||||
Next
|
database.UpdateValue(controlId, recordId, value)
|
||||||
|
|
||||||
addedMarks += 1
|
' Wenn Bildmarke oder Wort- und Bildmarke, Bild aktualisieren
|
||||||
Else
|
If prop = "MarkFeature" Then
|
||||||
' Marke aktualisieren
|
If value = "wort-bildmarke" Or value = "bildmarke" Then
|
||||||
Dim recordId As Integer = markExists
|
Dim imageControlId = database.GetControlId(formId, "MarkImage")
|
||||||
Dim propsChanged = False
|
Dim bimage() As Byte = Convert.FromBase64String(m.Image.BinaryImage)
|
||||||
|
database.UpdateImage(bimage, imageControlId, recordId)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
logger.Info("Existing Record updated with GUID: {0}", recordId)
|
logger.Debug("Value updated - Property: {0}, ControlId: {1}", prop, controlId)
|
||||||
|
|
||||||
For Each prop As String In props
|
'Dim hasChanged As Boolean = Not db.IsEqual(controlId, recordId, value)
|
||||||
' ControlID für die aktuelle property holen
|
'logger.Debug("Value for {0} has changed", recordId)
|
||||||
Dim controlId = db.GetControlId(formId, prop)
|
|
||||||
' Wert für die aktuelle property holen
|
|
||||||
Dim value = db.GetProperty(m, prop)
|
|
||||||
|
|
||||||
' Wert aktualisieren
|
'If hasChanged Then
|
||||||
db.UpdateValue(controlId, recordId, value)
|
' propsChanged = True
|
||||||
|
' ' Wert aktualisieren
|
||||||
|
' db.UpdateValue(controlId, recordId, value)
|
||||||
|
' logger.Debug("Value updated - Property: {0}, ControlId: {1}", prop, controlId)
|
||||||
|
'End If
|
||||||
|
Next
|
||||||
|
|
||||||
' Wenn Bildmarke oder Wort- und Bildmarke, Bild aktualisieren
|
updatedMarks += 1
|
||||||
If prop = "MarkFeature" Then
|
Catch ex As Exception
|
||||||
If value = "wort-bildmarke" Or value = "bildmarke" Then
|
logger.Error($"Exception while UPDATING mark {m.ApplicationNumber}: {ex.Message}")
|
||||||
Dim imageControlId = db.GetControlId(formId, "MarkImage")
|
failedMarks += 1
|
||||||
Dim bimage() As Byte = Convert.FromBase64String(m.Image.BinaryImage)
|
|
||||||
db.UpdateImage(bimage, imageControlId, recordId)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
logger.Debug("Value updated - Property: {0}, ControlId: {1}", prop, controlId)
|
Continue For
|
||||||
|
End Try
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
'Dim hasChanged As Boolean = Not db.IsEqual(controlId, recordId, value)
|
logger.Info($"{addedMarks} Marks added, {updatedMarks} updated, {failedMarks} failed.")
|
||||||
'logger.Debug("Value for {0} has changed", recordId)
|
End If
|
||||||
|
|
||||||
'If hasChanged Then
|
If config.searchType.Contains("P") Then
|
||||||
' propsChanged = True
|
patents = ImporterPatents.FromDPMA()
|
||||||
' ' Wert aktualisieren
|
|
||||||
' db.UpdateValue(controlId, recordId, value)
|
|
||||||
' logger.Debug("Value updated - Property: {0}, ControlId: {1}", prop, controlId)
|
|
||||||
'End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
updatedMarks += 1
|
Dim formId As Integer = database.GetFormIdFor("Patente")
|
||||||
End If
|
|
||||||
Next
|
For Each p In patents
|
||||||
|
|
||||||
|
logger.Debug("Patent Title: {0}", p.Title)
|
||||||
|
|
||||||
|
Dim mainControlId As Integer
|
||||||
|
|
||||||
|
' Das eindeutige Control suchen
|
||||||
|
mainControlId = database.GetControlId(formId, "LeadingRegisteredNumber")
|
||||||
|
|
||||||
|
' Über mainControlId überprüfen, ob patent vorhanden
|
||||||
|
Dim patentExists As Integer = database.GetRecordId(mainControlId, p.LeadingRegisteredNumber)
|
||||||
|
logger.Debug("Patent {0} exists: {1}", patentExists, CBool(patentExists))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
If (patentExists = 0) Then
|
||||||
|
Try
|
||||||
|
' Einen Record erstellen
|
||||||
|
Dim recordId = database.InsertRecord(formId)
|
||||||
|
logger.Info("New record created with GUID: " & recordId)
|
||||||
|
' Den Leit-Wert einfügen für mainControlId
|
||||||
|
Dim valueId = database.InsertValue(mainControlId, recordId, p.LeadingRegisteredNumber)
|
||||||
|
addedPatents = addedPatents + 1
|
||||||
|
logger.Debug("Value inserted - Property: {0}, Value: {1}, ControlId: {2}", "LeadingRegisteredNumber", p.LeadingRegisteredNumber, mainControlId)
|
||||||
|
|
||||||
|
' alle anderen properties zu dieses patents einfügen
|
||||||
|
For Each prop As String In propsPatents
|
||||||
|
' ControlID für die aktuelle property holen
|
||||||
|
Dim controlId = database.GetControlId(formId, prop)
|
||||||
|
' Wert für die aktuelle property holen
|
||||||
|
Dim value = database.GetPropertyPatent(p, prop)
|
||||||
|
|
||||||
|
If controlId = 0 Then
|
||||||
|
logger.Warn("Value NOT inserted - ControlId for Property {0} could not be found.")
|
||||||
|
Continue For
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Wert einfügen
|
||||||
|
database.InsertValue(controlId, recordId, value)
|
||||||
|
|
||||||
|
logger.Debug("Value inserted - Property: {0}, Value: {1}, ControlId: {2}", prop, value, controlId)
|
||||||
|
Next
|
||||||
|
|
||||||
|
addedPatents += 1
|
||||||
|
Catch ex As Exception
|
||||||
|
logger.Error($"Exception while ADDING patent {p.LeadingRegisteredNumber}: {ex.Message}")
|
||||||
|
failedPatents += 1
|
||||||
|
|
||||||
|
Continue For
|
||||||
|
End Try
|
||||||
|
Else
|
||||||
|
Try
|
||||||
|
' Patent aktualisieren
|
||||||
|
Dim recordId As Integer = patentExists
|
||||||
|
Dim propsChanged = False
|
||||||
|
|
||||||
|
logger.Info("Existing Record updated with GUID: {0}", recordId)
|
||||||
|
|
||||||
|
For Each prop As String In propsPatents
|
||||||
|
' ControlID für die aktuelle property holen
|
||||||
|
Dim controlId = database.GetControlId(formId, prop)
|
||||||
|
' Wert für die aktuelle property holen
|
||||||
|
Dim value = database.GetPropertyPatent(p, prop)
|
||||||
|
|
||||||
|
If controlId = 0 Then
|
||||||
|
logger.Warn("Value NOT updated - ControlId for Property {0} could not be found.")
|
||||||
|
Continue For
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Wert aktualisieren
|
||||||
|
database.UpdateValue(controlId, recordId, value)
|
||||||
|
|
||||||
|
logger.Debug("Value updated - Property: {0}, ControlId: {1}", prop, controlId)
|
||||||
|
Next
|
||||||
|
|
||||||
|
updatedPatents += 1
|
||||||
|
Catch ex As Exception
|
||||||
|
logger.Error($"Exception while UPDATING patent {p.LeadingRegisteredNumber}: {ex.Message}")
|
||||||
|
failedPatents += 1
|
||||||
|
|
||||||
|
Continue For
|
||||||
|
End Try
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
logger.Info($"{addedPatents} Marks added, {updatedPatents} updated, {failedPatents} failed.")
|
||||||
|
End If
|
||||||
|
|
||||||
logger.Info("{0} Marks added, {1} updated", addedMarks, updatedMarks)
|
|
||||||
logger.Debug("=================== IMPORT END ===================")
|
logger.Debug("=================== IMPORT END ===================")
|
||||||
|
ReadLine()
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
logger.Error("==================================================")
|
logger.Error("==================================================")
|
||||||
logger.Error("=================== ERROR ========================")
|
logger.Error("=================== ERROR ========================")
|
||||||
logger.Error("==================================================")
|
logger.Error("==================================================")
|
||||||
logger.Error("An Error occurred: {0}", GetExceptionInfo(ex))
|
logger.Error("An Error occurred: {0}", GetExceptionInfo(ex))
|
||||||
'Environment.Exit(1)
|
ReadLine()
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
@ -37,10 +37,6 @@ Public Class Mark
|
|||||||
Return WebUtility.HtmlDecode(value)
|
Return WebUtility.HtmlDecode(value)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function ParseShortDate(value As String)
|
|
||||||
Return DateTime.Parse(value).ToShortDateString()
|
|
||||||
End Function
|
|
||||||
|
|
||||||
#Region "SearchProperties"
|
#Region "SearchProperties"
|
||||||
Public Property RegistrationOfficeCode As String
|
Public Property RegistrationOfficeCode As String
|
||||||
Get
|
Get
|
||||||
@ -56,7 +52,7 @@ Public Class Mark
|
|||||||
Return _RegistrationDate
|
Return _RegistrationDate
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
_RegistrationDate = ParseShortDate(value)
|
_RegistrationDate = Utils.ParseShortDate(value)
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@ -106,7 +102,7 @@ Public Class Mark
|
|||||||
Return _ApplicationDate
|
Return _ApplicationDate
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
_ApplicationDate = ParseShortDate(value)
|
_ApplicationDate = Utils.ParseShortDate(value)
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@ -149,7 +145,7 @@ Public Class Mark
|
|||||||
Return _PublicationDate
|
Return _PublicationDate
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
_PublicationDate = ParseShortDate(value)
|
_PublicationDate = Utils.ParseShortDate(value)
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@ -158,7 +154,7 @@ Public Class Mark
|
|||||||
Return _ExpiryDate
|
Return _ExpiryDate
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
_ExpiryDate = ParseShortDate(value)
|
_ExpiryDate = Utils.ParseShortDate(value)
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@ -167,7 +163,7 @@ Public Class Mark
|
|||||||
Return _TerminationDate
|
Return _TerminationDate
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
_TerminationDate = ParseShortDate(value)
|
_TerminationDate = Utils.ParseShortDate(value)
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@ -176,7 +172,7 @@ Public Class Mark
|
|||||||
Return _OppositionPeriodStartDate
|
Return _OppositionPeriodStartDate
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
_OppositionPeriodStartDate = ParseShortDate(value)
|
_OppositionPeriodStartDate = Utils.ParseShortDate(value)
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@ -185,7 +181,7 @@ Public Class Mark
|
|||||||
Return _OppositionPeriodEndDate
|
Return _OppositionPeriodEndDate
|
||||||
End Get
|
End Get
|
||||||
Set(value As String)
|
Set(value As String)
|
||||||
_OppositionPeriodEndDate = ParseShortDate(value)
|
_OppositionPeriodEndDate = Utils.ParseShortDate(value)
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Imports System.Runtime.InteropServices
|
|||||||
<Assembly: ComVisible(False)>
|
<Assembly: ComVisible(False)>
|
||||||
|
|
||||||
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||||
<Assembly: Guid("bc946756-8302-4952-8a94-537330f5f5c1")>
|
<Assembly: Guid("bc946756-8302-4952-8a94-537330f5f5c1")>
|
||||||
|
|
||||||
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||||
'
|
'
|
||||||
@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
|||||||
' übernehmen, indem Sie "*" eingeben:
|
' übernehmen, indem Sie "*" eingeben:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("1.1.2.0")>
|
<Assembly: AssemblyVersion("1.2.0.0")>
|
||||||
<Assembly: AssemblyFileVersion("1.1.2.0")>
|
<Assembly: AssemblyFileVersion("1.1.2.0")>
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
Imports System.Xml
|
Imports System.Xml
|
||||||
|
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
|
||||||
Public Class Parser
|
Public Class ParserMarks
|
||||||
Private _path As String
|
Private _path As String
|
||||||
Private _marks As New List(Of Mark)
|
Private _marks As New List(Of Mark)
|
||||||
|
|
||||||
@ -203,7 +202,7 @@ Public Class Parser
|
|||||||
If r.Name = "BasicRecord" Then
|
If r.Name = "BasicRecord" Then
|
||||||
ReadMarkRecord(r.ReadSubtree(), mark)
|
ReadMarkRecord(r.ReadSubtree(), mark)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End While
|
End While
|
||||||
194
app/DpmaXmlParser/ParserPatents.vb
Normal file
194
app/DpmaXmlParser/ParserPatents.vb
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
Imports System.Xml
|
||||||
|
Imports System.IO
|
||||||
|
|
||||||
|
Public Class ParserPatents
|
||||||
|
Private _path As String
|
||||||
|
Private _patents As New List(Of Patent)
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
#Region "Parse Results of Search"
|
||||||
|
Public Function ReadPatentXMLFile(path As String) As List(Of Patent)
|
||||||
|
Using reader As XmlReader = XmlReader.Create(path)
|
||||||
|
While reader.Read()
|
||||||
|
If reader.IsStartElement() Then
|
||||||
|
If reader.Name = "PatentHitListRecord" Then
|
||||||
|
Dim patent As Patent = CreatePatent(reader.ReadSubtree())
|
||||||
|
_patents.Add(patent)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End While
|
||||||
|
End Using
|
||||||
|
|
||||||
|
Return _patents
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function CreatePatent(r As XmlReader)
|
||||||
|
Dim patent As New Patent()
|
||||||
|
|
||||||
|
While r.Read()
|
||||||
|
If r.IsStartElement() Then
|
||||||
|
If r.NodeType = XmlNodeType.Element Then
|
||||||
|
Select Case r.Name
|
||||||
|
Case "leading-registered-number"
|
||||||
|
patent.LeadingRegisteredNumber = r.ReadInnerXml()
|
||||||
|
Case "registered-number"
|
||||||
|
patent.RegisteredNumber = r.ReadInnerXml()
|
||||||
|
Case "type"
|
||||||
|
patent.Type = r.ReadInnerXml()
|
||||||
|
Case "invention-title"
|
||||||
|
patent.Title = r.ReadInnerXml()
|
||||||
|
Case "edition"
|
||||||
|
patent.Edition = r.ReadInnerXml()
|
||||||
|
Case "classification"
|
||||||
|
patent.Classification = r.ReadInnerXml()
|
||||||
|
Case "legalstatus"
|
||||||
|
patent.Status = r.ReadInnerXml()
|
||||||
|
Case "applicationDate"
|
||||||
|
patent.ApplicationDate = r.ReadInnerXml()
|
||||||
|
Case "publicationDate"
|
||||||
|
patent.PublicationDate = r.ReadInnerXml()
|
||||||
|
Case "applicant"
|
||||||
|
patent.ApplicantsList.Add(r.ReadInnerXml())
|
||||||
|
Case "inventor"
|
||||||
|
patent.InventorsList.Add(r.ReadInnerXml())
|
||||||
|
End Select
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End While
|
||||||
|
|
||||||
|
Return patent
|
||||||
|
End Function
|
||||||
|
|
||||||
|
#End Region
|
||||||
|
|
||||||
|
#Region "Parse Results of GetRegisterInfo"
|
||||||
|
Public Sub ReadPatentRegisterInfoXMLFile(path As String, ByRef p As Patent)
|
||||||
|
Using reader As XmlReader = XmlReader.Create(path)
|
||||||
|
While reader.Read()
|
||||||
|
If reader.IsStartElement() Then
|
||||||
|
If reader.Name = "dpma-patent-document" Then
|
||||||
|
ReadPatentDocument(reader.ReadSubtree(), p)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End While
|
||||||
|
End Using
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub ReadPatentDocument(r As XmlReader, ByRef p As Patent)
|
||||||
|
While r.Read()
|
||||||
|
If r.IsStartElement() Then
|
||||||
|
If r.NodeType = XmlNodeType.Element Then
|
||||||
|
Select Case r.Name
|
||||||
|
Case "abstract"
|
||||||
|
p.Abstract = r.ReadInnerXml()
|
||||||
|
Case "event-data"
|
||||||
|
ReadEvent(r.ReadSubtree(), p)
|
||||||
|
Case "publication-reference"
|
||||||
|
r.ReadToFollowing("document-id")
|
||||||
|
ReadPublicationDocument(r.ReadSubtree(), p)
|
||||||
|
Case "application-reference"
|
||||||
|
r.ReadToFollowing("document-id")
|
||||||
|
ReadApplicationDocument(r.ReadSubtree(), p)
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End While
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub ReadPublicationDocument(r As XmlReader, ByRef p As Patent)
|
||||||
|
Dim pDoc As New PatentDocument
|
||||||
|
|
||||||
|
While r.Read()
|
||||||
|
If r.IsStartElement() Then
|
||||||
|
If r.NodeType = XmlNodeType.Element Then
|
||||||
|
Select Case r.Name
|
||||||
|
Case "country"
|
||||||
|
pDoc.Country = r.ReadInnerXml()
|
||||||
|
Case "doc-number"
|
||||||
|
pDoc.DocNumber = r.ReadInnerXml()
|
||||||
|
Case "kind"
|
||||||
|
pDoc.Kind = r.ReadInnerXml()
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End While
|
||||||
|
|
||||||
|
p.PublicationDocuments.Add(pDoc)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub ReadApplicationDocument(r As XmlReader, ByRef p As Patent)
|
||||||
|
Dim pDoc As New PatentDocument
|
||||||
|
|
||||||
|
While r.Read()
|
||||||
|
If r.IsStartElement() Then
|
||||||
|
If r.NodeType = XmlNodeType.Element Then
|
||||||
|
Select Case r.Name
|
||||||
|
Case "country"
|
||||||
|
pDoc.Country = r.ReadInnerXml()
|
||||||
|
Case "doc-number"
|
||||||
|
pDoc.DocNumber = r.ReadInnerXml()
|
||||||
|
Case "date"
|
||||||
|
pDoc.DocDate = r.ReadInnerXml()
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End While
|
||||||
|
|
||||||
|
p.ApplicationDocuments.Add(pDoc)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub ReadEvent(r As XmlReader, ByRef p As Patent)
|
||||||
|
Dim pEvent As New PatentEvent
|
||||||
|
|
||||||
|
While r.Read()
|
||||||
|
If r.IsStartElement() Then
|
||||||
|
If r.NodeType = XmlNodeType.Element Then
|
||||||
|
Select Case r.Name
|
||||||
|
Case "type-of-procedure"
|
||||||
|
pEvent.Type = r.ReadInnerXml()
|
||||||
|
Case "procedural-status"
|
||||||
|
pEvent.Status = r.ReadInnerXml()
|
||||||
|
Case "date-of-procedural-status"
|
||||||
|
pEvent.StatusDate = r.ReadInnerXml()
|
||||||
|
Case "date-of-capture"
|
||||||
|
pEvent.CaptureDate = r.ReadInnerXml()
|
||||||
|
Case "publication-info"
|
||||||
|
ReadPublicationInfo(r.ReadSubtree(), pEvent)
|
||||||
|
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End While
|
||||||
|
|
||||||
|
p.Events.Add(pEvent)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub ReadPublicationInfo(r As XmlReader, ByRef pEvent As PatentEvent)
|
||||||
|
Dim pub As New PatentPublication
|
||||||
|
|
||||||
|
While r.Read()
|
||||||
|
If r.IsStartElement() Then
|
||||||
|
If r.NodeType = XmlNodeType.Element Then
|
||||||
|
Select Case r.Name
|
||||||
|
Case "issue-number"
|
||||||
|
pub.IssueNumber = r.ReadInnerXml()
|
||||||
|
Case "year"
|
||||||
|
pub.Year = r.ReadInnerXml()
|
||||||
|
Case "publication-date"
|
||||||
|
pub.PublicationDate = r.ReadInnerXml()
|
||||||
|
Case "publication-type"
|
||||||
|
pub.PublicationType = r.ReadInnerXml()
|
||||||
|
Case "part"
|
||||||
|
pub.Part = r.ReadInnerXml()
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End While
|
||||||
|
|
||||||
|
pEvent.PublicationInfo = pub
|
||||||
|
End Sub
|
||||||
|
#End Region
|
||||||
|
End Class
|
||||||
211
app/DpmaXmlParser/Patent.vb
Normal file
211
app/DpmaXmlParser/Patent.vb
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
Imports System.Net
|
||||||
|
Imports System.Text.RegularExpressions
|
||||||
|
Imports DpmaXmlParser
|
||||||
|
|
||||||
|
Public Class Patent
|
||||||
|
' Aus Search
|
||||||
|
Private _LeadingRegisteredNumber As String ' leading-registered-number / Aktenzeichen
|
||||||
|
Private _RN As String ' registered-number
|
||||||
|
Private _edition As String ' ICM / IPC-Hauptklasse
|
||||||
|
Private _classification As String ' ICM / IPC-Hauptklasse
|
||||||
|
Private _type As String ' type / Schutzrechtsart
|
||||||
|
Private _status As String
|
||||||
|
Private _title As String
|
||||||
|
Private _applicants As New List(Of String)
|
||||||
|
Private _inventors As New List(Of String)
|
||||||
|
Private _applicationDate As Date
|
||||||
|
Private _publiccationDate As Date
|
||||||
|
|
||||||
|
' Aus GetRegisterInfo
|
||||||
|
Private _abstract As String
|
||||||
|
Private _events As New List(Of PatentEvent)
|
||||||
|
Private _applicationDocuments As New List(Of PatentDocument)
|
||||||
|
Private _publicationDocuments As New List(Of PatentDocument)
|
||||||
|
|
||||||
|
Public Property LeadingRegisteredNumber As String
|
||||||
|
Get
|
||||||
|
Return _LeadingRegisteredNumber
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_LeadingRegisteredNumber = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property RegisteredNumber As String
|
||||||
|
Get
|
||||||
|
Return _RN
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_RN = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property Type As String
|
||||||
|
Get
|
||||||
|
Return _type
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_type = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property Status As String
|
||||||
|
Get
|
||||||
|
Return _status
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_status = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property Title As String
|
||||||
|
Get
|
||||||
|
Return _title
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_title = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property ICM As String
|
||||||
|
Get
|
||||||
|
Return String.Format("{0} ({1})", _classification, _edition)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property Edition As String
|
||||||
|
Get
|
||||||
|
Return _edition
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_edition = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property Classification As String
|
||||||
|
Get
|
||||||
|
Return _classification
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_classification = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property ApplicationDate As String
|
||||||
|
Get
|
||||||
|
Return _applicationDate
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_applicationDate = Utils.ParseShortDate(value)
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property PublicationDate As String
|
||||||
|
Get
|
||||||
|
Return _publiccationDate
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_publiccationDate = Utils.ParseShortDate(value)
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property ApplicantsList As List(Of String)
|
||||||
|
Get
|
||||||
|
Return _applicants
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of String))
|
||||||
|
_applicants = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Applicants As String
|
||||||
|
Get
|
||||||
|
Return String.Join(";", _applicants.ToArray())
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property InventorsList As List(Of String)
|
||||||
|
Get
|
||||||
|
Return _inventors
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of String))
|
||||||
|
_inventors = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Inventors As String
|
||||||
|
Get
|
||||||
|
Return String.Join(";", _inventors.ToArray())
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property Abstract As String
|
||||||
|
Get
|
||||||
|
Return _abstract
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_abstract = value.Replace("'", "''").Replace("(", "{").Replace(")", "}")
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property Events As List(Of PatentEvent)
|
||||||
|
Get
|
||||||
|
Return _events
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of PatentEvent))
|
||||||
|
_events = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property ApplicationDocuments As List(Of PatentDocument)
|
||||||
|
Get
|
||||||
|
Return _applicationDocuments
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of PatentDocument))
|
||||||
|
_applicationDocuments = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property PublicationDocuments As List(Of PatentDocument)
|
||||||
|
Get
|
||||||
|
Return _publicationDocuments
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of PatentDocument))
|
||||||
|
_publicationDocuments = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class PatentDocument
|
||||||
|
Private _docdate As Date
|
||||||
|
|
||||||
|
Public Country As String
|
||||||
|
Public DocNumber As String
|
||||||
|
Public Kind As String
|
||||||
|
|
||||||
|
Public Property DocDate As String
|
||||||
|
Get
|
||||||
|
Return _docdate
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
_docdate = Utils.ParseShortDate(value)
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class PatentEvent
|
||||||
|
Public Type As String
|
||||||
|
Public Status As String
|
||||||
|
Public StatusDate As Date
|
||||||
|
Public CaptureDate As Date
|
||||||
|
|
||||||
|
Public PublicationInfo As PatentPublication
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class PatentPublication
|
||||||
|
Public IssueNumber As Integer
|
||||||
|
Public Year As Integer
|
||||||
|
Public PublicationDate As Date
|
||||||
|
Public PublicationType As String
|
||||||
|
Public Part As String
|
||||||
|
End Class
|
||||||
69
app/DpmaXmlParser/QueryBuilderPatents.vb
Normal file
69
app/DpmaXmlParser/QueryBuilderPatents.vb
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
Public Class QueryBuilderPatents
|
||||||
|
Public Shared Function Build(config As ConfigValues, db As DB)
|
||||||
|
Dim mainQuery As String
|
||||||
|
Dim companies As List(Of String)
|
||||||
|
Dim stringsToIgnore As New List(Of String)
|
||||||
|
|
||||||
|
' searchvalues ist entweder eine SQL Abfrage oder eine Semikolongetrennte Liste
|
||||||
|
If config.query.ToUpper.StartsWith("SELECT") Then
|
||||||
|
companies = GetLiveQueryResult(config.query, db)
|
||||||
|
Else
|
||||||
|
companies = New List(Of String)(config.query.Split(";"))
|
||||||
|
End If
|
||||||
|
|
||||||
|
If config.queryIgnore.Count > 0 And config.queryIgnore.Contains(";") Then
|
||||||
|
stringsToIgnore = New List(Of String)(config.queryIgnore.Split(";"))
|
||||||
|
End If
|
||||||
|
|
||||||
|
mainQuery = BuildMainQuery(companies)
|
||||||
|
mainQuery &= BuildIgnoreQuery(stringsToIgnore)
|
||||||
|
|
||||||
|
Return mainQuery
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function BuildMainQuery(companies As List(Of String)) As String
|
||||||
|
Dim query As String = String.Empty
|
||||||
|
|
||||||
|
For Each company As String In companies
|
||||||
|
Dim querypart As String = String.Format("(INH=""{0}"" OR IN=""{0}"")", company.Trim())
|
||||||
|
|
||||||
|
query &= querypart
|
||||||
|
|
||||||
|
' Bei allen bis auf das letzte Unternehmen einen OR Operator einfügen
|
||||||
|
If (companies.IndexOf(company) + 1) < companies.Count Then
|
||||||
|
query &= " OR "
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
Return query
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function BuildIgnoreQuery(stringsToIgnore As List(Of String))
|
||||||
|
Dim query As String = String.Empty
|
||||||
|
|
||||||
|
For Each stringToIgnore In stringsToIgnore
|
||||||
|
Dim querypart As String = String.Format(" NOT (INH=""{0}"" OR IN=""{0}"")", stringToIgnore)
|
||||||
|
|
||||||
|
query &= querypart
|
||||||
|
Next
|
||||||
|
|
||||||
|
Return query
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function GetLiveQueryResult(query As String, db As DB) As List(Of String)
|
||||||
|
Dim result As New List(Of String)
|
||||||
|
Dim SQL As String = query
|
||||||
|
Dim DT As DataTable = db.QueryTable(SQL)
|
||||||
|
|
||||||
|
If DT.Rows.Count = 0 Then
|
||||||
|
Throw New Exception("SQL Abfrage lieferte ein leeres Ergebnis zurück: " & query)
|
||||||
|
End If
|
||||||
|
|
||||||
|
For Each row As DataRow In DT.Rows
|
||||||
|
Dim item As String = CStr(row.Item(0)).Trim()
|
||||||
|
result.Add(row.Item(0))
|
||||||
|
Next
|
||||||
|
|
||||||
|
Return result
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
@ -1,4 +1,4 @@
|
|||||||
Public Class Querybuilder
|
Public Class QuerybuilderMarks
|
||||||
|
|
||||||
Public Shared Function Build(config As ConfigValues, db As DB)
|
Public Shared Function Build(config As ConfigValues, db As DB)
|
||||||
Dim mainQuery As String
|
Dim mainQuery As String
|
||||||
@ -0,0 +1,116 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<wsdl:definitions xmlns:intf="http://ws.patent.register.dpma.de" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://ws.patent.register.dpma.de" targetNamespace="http://ws.patent.register.dpma.de" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||||
|
<wsdl:types>
|
||||||
|
<xsd:schema xmlns:intf="http://ws.patent.register.dpma.de" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://ws.patent.register.dpma.de">
|
||||||
|
<xsd:element name="search">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="user" type="xsd:string" />
|
||||||
|
<xsd:element name="pwd" type="xsd:string" />
|
||||||
|
<xsd:element name="query" type="xsd:string" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="searchResponse">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="searchReturn" type="xsd:string" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="version">
|
||||||
|
<xsd:complexType />
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="versionResponse">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="versionReturn" type="xsd:string" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="getRegisterInfo">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="user" type="xsd:string" />
|
||||||
|
<xsd:element name="pwd" type="xsd:string" />
|
||||||
|
<xsd:element name="akz" type="xsd:string" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="getRegisterInfoResponse">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="getRegisterInfoReturn" type="xsd:string" />
|
||||||
|
</xsd:sequence>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
</wsdl:types>
|
||||||
|
<wsdl:message name="versionRequest">
|
||||||
|
<wsdl:part name="parameters" element="impl:version" />
|
||||||
|
</wsdl:message>
|
||||||
|
<wsdl:message name="searchRequest">
|
||||||
|
<wsdl:part name="parameters" element="impl:search" />
|
||||||
|
</wsdl:message>
|
||||||
|
<wsdl:message name="versionResponse">
|
||||||
|
<wsdl:part name="parameters" element="impl:versionResponse" />
|
||||||
|
</wsdl:message>
|
||||||
|
<wsdl:message name="getRegisterInfoRequest">
|
||||||
|
<wsdl:part name="parameters" element="impl:getRegisterInfo" />
|
||||||
|
</wsdl:message>
|
||||||
|
<wsdl:message name="getRegisterInfoResponse">
|
||||||
|
<wsdl:part name="parameters" element="impl:getRegisterInfoResponse" />
|
||||||
|
</wsdl:message>
|
||||||
|
<wsdl:message name="searchResponse">
|
||||||
|
<wsdl:part name="parameters" element="impl:searchResponse" />
|
||||||
|
</wsdl:message>
|
||||||
|
<wsdl:portType name="DPMAregister">
|
||||||
|
<wsdl:operation name="search">
|
||||||
|
<wsdl:input name="searchRequest" message="impl:searchRequest" />
|
||||||
|
<wsdl:output name="searchResponse" message="impl:searchResponse" />
|
||||||
|
</wsdl:operation>
|
||||||
|
<wsdl:operation name="version">
|
||||||
|
<wsdl:input name="versionRequest" message="impl:versionRequest" />
|
||||||
|
<wsdl:output name="versionResponse" message="impl:versionResponse" />
|
||||||
|
</wsdl:operation>
|
||||||
|
<wsdl:operation name="getRegisterInfo">
|
||||||
|
<wsdl:input name="getRegisterInfoRequest" message="impl:getRegisterInfoRequest" />
|
||||||
|
<wsdl:output name="getRegisterInfoResponse" message="impl:getRegisterInfoResponse" />
|
||||||
|
</wsdl:operation>
|
||||||
|
</wsdl:portType>
|
||||||
|
<wsdl:binding name="DPMAregisterSoapBinding" type="impl:DPMAregister">
|
||||||
|
<wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||||
|
<wsdl:operation name="search">
|
||||||
|
<wsdlsoap:operation soapAction="" />
|
||||||
|
<wsdl:input name="searchRequest">
|
||||||
|
<wsdlsoap:body use="literal" />
|
||||||
|
</wsdl:input>
|
||||||
|
<wsdl:output name="searchResponse">
|
||||||
|
<wsdlsoap:body use="literal" />
|
||||||
|
</wsdl:output>
|
||||||
|
</wsdl:operation>
|
||||||
|
<wsdl:operation name="version">
|
||||||
|
<wsdlsoap:operation soapAction="" />
|
||||||
|
<wsdl:input name="versionRequest">
|
||||||
|
<wsdlsoap:body use="literal" />
|
||||||
|
</wsdl:input>
|
||||||
|
<wsdl:output name="versionResponse">
|
||||||
|
<wsdlsoap:body use="literal" />
|
||||||
|
</wsdl:output>
|
||||||
|
</wsdl:operation>
|
||||||
|
<wsdl:operation name="getRegisterInfo">
|
||||||
|
<wsdlsoap:operation soapAction="" />
|
||||||
|
<wsdl:input name="getRegisterInfoRequest">
|
||||||
|
<wsdlsoap:body use="literal" />
|
||||||
|
</wsdl:input>
|
||||||
|
<wsdl:output name="getRegisterInfoResponse">
|
||||||
|
<wsdlsoap:body use="literal" />
|
||||||
|
</wsdl:output>
|
||||||
|
</wsdl:operation>
|
||||||
|
</wsdl:binding>
|
||||||
|
<wsdl:service name="DPMAregisterPatService">
|
||||||
|
<wsdl:port name="DPMAregister" binding="impl:DPMAregisterSoapBinding">
|
||||||
|
<wsdlsoap:address location="http://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterPatService" />
|
||||||
|
</wsdl:port>
|
||||||
|
</wsdl:service>
|
||||||
|
</wsdl:definitions>
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="getRegisterInfoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>DpmaXmlParser.DPMA.Patent.getRegisterInfoResponse, Service References.DPMA.Patent.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="searchResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>DpmaXmlParser.DPMA.Patent.searchResponse, Service References.DPMA.Patent.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="versionResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>DpmaXmlParser.DPMA.Patent.versionResponse, Service References.DPMA.Patent.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="cee7754c-1d2e-47f7-a0eb-18ff322435ff" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
|
||||||
|
<ClientOptions>
|
||||||
|
<GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
|
||||||
|
<GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
|
||||||
|
<EnableDataBinding>true</EnableDataBinding>
|
||||||
|
<ExcludedTypes />
|
||||||
|
<ImportXmlTypes>false</ImportXmlTypes>
|
||||||
|
<GenerateInternalTypes>false</GenerateInternalTypes>
|
||||||
|
<GenerateMessageContracts>false</GenerateMessageContracts>
|
||||||
|
<NamespaceMappings />
|
||||||
|
<CollectionMappings />
|
||||||
|
<GenerateSerializableTypes>true</GenerateSerializableTypes>
|
||||||
|
<Serializer>Auto</Serializer>
|
||||||
|
<UseSerializerForFaults>true</UseSerializerForFaults>
|
||||||
|
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
|
||||||
|
<ReferencedAssemblies />
|
||||||
|
<ReferencedDataContractTypes />
|
||||||
|
<ServiceContractMappings />
|
||||||
|
</ClientOptions>
|
||||||
|
<MetadataSources>
|
||||||
|
<MetadataSource Address="https://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterPatService?wsdl" Protocol="http" SourceId="1" />
|
||||||
|
</MetadataSources>
|
||||||
|
<Metadata>
|
||||||
|
<MetadataFile FileName="DPMAregisterPatService.wsdl" MetadataType="Wsdl" ID="f4c53316-edae-42c7-b2ce-cf5fc2d5dd97" SourceId="1" SourceUrl="https://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterPatService?wsdl" />
|
||||||
|
</Metadata>
|
||||||
|
<Extensions>
|
||||||
|
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
|
||||||
|
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
|
||||||
|
</Extensions>
|
||||||
|
</ReferenceGroup>
|
||||||
391
app/DpmaXmlParser/Service References/DPMA.Patent/Reference.vb
Normal file
391
app/DpmaXmlParser/Service References/DPMA.Patent/Reference.vb
Normal file
@ -0,0 +1,391 @@
|
|||||||
|
'------------------------------------------------------------------------------
|
||||||
|
' <auto-generated>
|
||||||
|
' Dieser Code wurde von einem Tool generiert.
|
||||||
|
' Laufzeitversion:4.0.30319.42000
|
||||||
|
'
|
||||||
|
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||||
|
' der Code erneut generiert wird.
|
||||||
|
' </auto-generated>
|
||||||
|
'------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Option Strict On
|
||||||
|
Option Explicit On
|
||||||
|
|
||||||
|
|
||||||
|
Namespace DPMA.Patent
|
||||||
|
|
||||||
|
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ServiceModel.ServiceContractAttribute([Namespace]:="http://ws.patent.register.dpma.de", ConfigurationName:="DPMA.Patent.DPMAregister")> _
|
||||||
|
Public Interface DPMAregister
|
||||||
|
|
||||||
|
'CODEGEN: Es wird ein Nachrichtenvertrag generiert, da Elementname user aus Namespace http://ws.patent.register.dpma.de nicht als "nillable" (nullwertfähig) gekennzeichnet ist.
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="", ReplyAction:="*")> _
|
||||||
|
Function search(ByVal request As DPMA.Patent.searchRequest) As DPMA.Patent.searchResponse
|
||||||
|
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="", ReplyAction:="*")> _
|
||||||
|
Function searchAsync(ByVal request As DPMA.Patent.searchRequest) As System.Threading.Tasks.Task(Of DPMA.Patent.searchResponse)
|
||||||
|
|
||||||
|
'CODEGEN: Es wird ein Nachrichtenvertrag generiert, da Elementname versionReturn aus Namespace http://ws.patent.register.dpma.de nicht als "nillable" (nullwertfähig) gekennzeichnet ist.
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="", ReplyAction:="*")> _
|
||||||
|
Function version(ByVal request As DPMA.Patent.versionRequest) As DPMA.Patent.versionResponse
|
||||||
|
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="", ReplyAction:="*")> _
|
||||||
|
Function versionAsync(ByVal request As DPMA.Patent.versionRequest) As System.Threading.Tasks.Task(Of DPMA.Patent.versionResponse)
|
||||||
|
|
||||||
|
'CODEGEN: Es wird ein Nachrichtenvertrag generiert, da Elementname user aus Namespace http://ws.patent.register.dpma.de nicht als "nillable" (nullwertfähig) gekennzeichnet ist.
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="", ReplyAction:="*")> _
|
||||||
|
Function getRegisterInfo(ByVal request As DPMA.Patent.getRegisterInfoRequest) As DPMA.Patent.getRegisterInfoResponse
|
||||||
|
|
||||||
|
<System.ServiceModel.OperationContractAttribute(Action:="", ReplyAction:="*")> _
|
||||||
|
Function getRegisterInfoAsync(ByVal request As DPMA.Patent.getRegisterInfoRequest) As System.Threading.Tasks.Task(Of DPMA.Patent.getRegisterInfoResponse)
|
||||||
|
End Interface
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.ServiceModel.MessageContractAttribute(IsWrapped:=false)> _
|
||||||
|
Partial Public Class searchRequest
|
||||||
|
|
||||||
|
<System.ServiceModel.MessageBodyMemberAttribute(Name:="search", [Namespace]:="http://ws.patent.register.dpma.de", Order:=0)> _
|
||||||
|
Public Body As DPMA.Patent.searchRequestBody
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal Body As DPMA.Patent.searchRequestBody)
|
||||||
|
MyBase.New
|
||||||
|
Me.Body = Body
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute([Namespace]:="http://ws.patent.register.dpma.de")> _
|
||||||
|
Partial Public Class searchRequestBody
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue:=false, Order:=0)> _
|
||||||
|
Public user As String
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue:=false, Order:=1)> _
|
||||||
|
Public pwd As String
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue:=false, Order:=2)> _
|
||||||
|
Public query As String
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal user As String, ByVal pwd As String, ByVal query As String)
|
||||||
|
MyBase.New
|
||||||
|
Me.user = user
|
||||||
|
Me.pwd = pwd
|
||||||
|
Me.query = query
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.ServiceModel.MessageContractAttribute(IsWrapped:=false)> _
|
||||||
|
Partial Public Class searchResponse
|
||||||
|
|
||||||
|
<System.ServiceModel.MessageBodyMemberAttribute(Name:="searchResponse", [Namespace]:="http://ws.patent.register.dpma.de", Order:=0)> _
|
||||||
|
Public Body As DPMA.Patent.searchResponseBody
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal Body As DPMA.Patent.searchResponseBody)
|
||||||
|
MyBase.New
|
||||||
|
Me.Body = Body
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute([Namespace]:="http://ws.patent.register.dpma.de")> _
|
||||||
|
Partial Public Class searchResponseBody
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue:=false, Order:=0)> _
|
||||||
|
Public searchReturn As String
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal searchReturn As String)
|
||||||
|
MyBase.New
|
||||||
|
Me.searchReturn = searchReturn
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.ServiceModel.MessageContractAttribute(IsWrapped:=false)> _
|
||||||
|
Partial Public Class versionRequest
|
||||||
|
|
||||||
|
<System.ServiceModel.MessageBodyMemberAttribute(Name:="version", [Namespace]:="http://ws.patent.register.dpma.de", Order:=0)> _
|
||||||
|
Public Body As DPMA.Patent.versionRequestBody
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal Body As DPMA.Patent.versionRequestBody)
|
||||||
|
MyBase.New
|
||||||
|
Me.Body = Body
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute()> _
|
||||||
|
Partial Public Class versionRequestBody
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.ServiceModel.MessageContractAttribute(IsWrapped:=false)> _
|
||||||
|
Partial Public Class versionResponse
|
||||||
|
|
||||||
|
<System.ServiceModel.MessageBodyMemberAttribute(Name:="versionResponse", [Namespace]:="http://ws.patent.register.dpma.de", Order:=0)> _
|
||||||
|
Public Body As DPMA.Patent.versionResponseBody
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal Body As DPMA.Patent.versionResponseBody)
|
||||||
|
MyBase.New
|
||||||
|
Me.Body = Body
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute([Namespace]:="http://ws.patent.register.dpma.de")> _
|
||||||
|
Partial Public Class versionResponseBody
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue:=false, Order:=0)> _
|
||||||
|
Public versionReturn As String
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal versionReturn As String)
|
||||||
|
MyBase.New
|
||||||
|
Me.versionReturn = versionReturn
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.ServiceModel.MessageContractAttribute(IsWrapped:=false)> _
|
||||||
|
Partial Public Class getRegisterInfoRequest
|
||||||
|
|
||||||
|
<System.ServiceModel.MessageBodyMemberAttribute(Name:="getRegisterInfo", [Namespace]:="http://ws.patent.register.dpma.de", Order:=0)> _
|
||||||
|
Public Body As DPMA.Patent.getRegisterInfoRequestBody
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal Body As DPMA.Patent.getRegisterInfoRequestBody)
|
||||||
|
MyBase.New
|
||||||
|
Me.Body = Body
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute([Namespace]:="http://ws.patent.register.dpma.de")> _
|
||||||
|
Partial Public Class getRegisterInfoRequestBody
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue:=false, Order:=0)> _
|
||||||
|
Public user As String
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue:=false, Order:=1)> _
|
||||||
|
Public pwd As String
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue:=false, Order:=2)> _
|
||||||
|
Public akz As String
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal user As String, ByVal pwd As String, ByVal akz As String)
|
||||||
|
MyBase.New
|
||||||
|
Me.user = user
|
||||||
|
Me.pwd = pwd
|
||||||
|
Me.akz = akz
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.ServiceModel.MessageContractAttribute(IsWrapped:=false)> _
|
||||||
|
Partial Public Class getRegisterInfoResponse
|
||||||
|
|
||||||
|
<System.ServiceModel.MessageBodyMemberAttribute(Name:="getRegisterInfoResponse", [Namespace]:="http://ws.patent.register.dpma.de", Order:=0)> _
|
||||||
|
Public Body As DPMA.Patent.getRegisterInfoResponseBody
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal Body As DPMA.Patent.getRegisterInfoResponseBody)
|
||||||
|
MyBase.New
|
||||||
|
Me.Body = Body
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0"), _
|
||||||
|
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced), _
|
||||||
|
System.Runtime.Serialization.DataContractAttribute([Namespace]:="http://ws.patent.register.dpma.de")> _
|
||||||
|
Partial Public Class getRegisterInfoResponseBody
|
||||||
|
|
||||||
|
<System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue:=false, Order:=0)> _
|
||||||
|
Public getRegisterInfoReturn As String
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal getRegisterInfoReturn As String)
|
||||||
|
MyBase.New
|
||||||
|
Me.getRegisterInfoReturn = getRegisterInfoReturn
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
|
|
||||||
|
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")> _
|
||||||
|
Public Interface DPMAregisterChannel
|
||||||
|
Inherits DPMA.Patent.DPMAregister, System.ServiceModel.IClientChannel
|
||||||
|
End Interface
|
||||||
|
|
||||||
|
<System.Diagnostics.DebuggerStepThroughAttribute(), _
|
||||||
|
System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")> _
|
||||||
|
Partial Public Class DPMAregisterClient
|
||||||
|
Inherits System.ServiceModel.ClientBase(Of DPMA.Patent.DPMAregister)
|
||||||
|
Implements DPMA.Patent.DPMAregister
|
||||||
|
|
||||||
|
Public Sub New()
|
||||||
|
MyBase.New
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal endpointConfigurationName As String)
|
||||||
|
MyBase.New(endpointConfigurationName)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String)
|
||||||
|
MyBase.New(endpointConfigurationName, remoteAddress)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As System.ServiceModel.EndpointAddress)
|
||||||
|
MyBase.New(endpointConfigurationName, remoteAddress)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, ByVal remoteAddress As System.ServiceModel.EndpointAddress)
|
||||||
|
MyBase.New(binding, remoteAddress)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
<System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
|
Function DPMA_Patent_DPMAregister_search(ByVal request As DPMA.Patent.searchRequest) As DPMA.Patent.searchResponse Implements DPMA.Patent.DPMAregister.search
|
||||||
|
Return MyBase.Channel.search(request)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function search(ByVal user As String, ByVal pwd As String, ByVal query As String) As String
|
||||||
|
Dim inValue As DPMA.Patent.searchRequest = New DPMA.Patent.searchRequest()
|
||||||
|
inValue.Body = New DPMA.Patent.searchRequestBody()
|
||||||
|
inValue.Body.user = user
|
||||||
|
inValue.Body.pwd = pwd
|
||||||
|
inValue.Body.query = query
|
||||||
|
Dim retVal As DPMA.Patent.searchResponse = CType(Me,DPMA.Patent.DPMAregister).search(inValue)
|
||||||
|
Return retVal.Body.searchReturn
|
||||||
|
End Function
|
||||||
|
|
||||||
|
<System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
|
Function DPMA_Patent_DPMAregister_searchAsync(ByVal request As DPMA.Patent.searchRequest) As System.Threading.Tasks.Task(Of DPMA.Patent.searchResponse) Implements DPMA.Patent.DPMAregister.searchAsync
|
||||||
|
Return MyBase.Channel.searchAsync(request)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function searchAsync(ByVal user As String, ByVal pwd As String, ByVal query As String) As System.Threading.Tasks.Task(Of DPMA.Patent.searchResponse)
|
||||||
|
Dim inValue As DPMA.Patent.searchRequest = New DPMA.Patent.searchRequest()
|
||||||
|
inValue.Body = New DPMA.Patent.searchRequestBody()
|
||||||
|
inValue.Body.user = user
|
||||||
|
inValue.Body.pwd = pwd
|
||||||
|
inValue.Body.query = query
|
||||||
|
Return CType(Me,DPMA.Patent.DPMAregister).searchAsync(inValue)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
<System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
|
Function DPMA_Patent_DPMAregister_version(ByVal request As DPMA.Patent.versionRequest) As DPMA.Patent.versionResponse Implements DPMA.Patent.DPMAregister.version
|
||||||
|
Return MyBase.Channel.version(request)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function version() As String
|
||||||
|
Dim inValue As DPMA.Patent.versionRequest = New DPMA.Patent.versionRequest()
|
||||||
|
inValue.Body = New DPMA.Patent.versionRequestBody()
|
||||||
|
Dim retVal As DPMA.Patent.versionResponse = CType(Me,DPMA.Patent.DPMAregister).version(inValue)
|
||||||
|
Return retVal.Body.versionReturn
|
||||||
|
End Function
|
||||||
|
|
||||||
|
<System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
|
Function DPMA_Patent_DPMAregister_versionAsync(ByVal request As DPMA.Patent.versionRequest) As System.Threading.Tasks.Task(Of DPMA.Patent.versionResponse) Implements DPMA.Patent.DPMAregister.versionAsync
|
||||||
|
Return MyBase.Channel.versionAsync(request)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function versionAsync() As System.Threading.Tasks.Task(Of DPMA.Patent.versionResponse)
|
||||||
|
Dim inValue As DPMA.Patent.versionRequest = New DPMA.Patent.versionRequest()
|
||||||
|
inValue.Body = New DPMA.Patent.versionRequestBody()
|
||||||
|
Return CType(Me,DPMA.Patent.DPMAregister).versionAsync(inValue)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
<System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
|
Function DPMA_Patent_DPMAregister_getRegisterInfo(ByVal request As DPMA.Patent.getRegisterInfoRequest) As DPMA.Patent.getRegisterInfoResponse Implements DPMA.Patent.DPMAregister.getRegisterInfo
|
||||||
|
Return MyBase.Channel.getRegisterInfo(request)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function getRegisterInfo(ByVal user As String, ByVal pwd As String, ByVal akz As String) As String
|
||||||
|
Dim inValue As DPMA.Patent.getRegisterInfoRequest = New DPMA.Patent.getRegisterInfoRequest()
|
||||||
|
inValue.Body = New DPMA.Patent.getRegisterInfoRequestBody()
|
||||||
|
inValue.Body.user = user
|
||||||
|
inValue.Body.pwd = pwd
|
||||||
|
inValue.Body.akz = akz
|
||||||
|
Dim retVal As DPMA.Patent.getRegisterInfoResponse = CType(Me,DPMA.Patent.DPMAregister).getRegisterInfo(inValue)
|
||||||
|
Return retVal.Body.getRegisterInfoReturn
|
||||||
|
End Function
|
||||||
|
|
||||||
|
<System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||||
|
Function DPMA_Patent_DPMAregister_getRegisterInfoAsync(ByVal request As DPMA.Patent.getRegisterInfoRequest) As System.Threading.Tasks.Task(Of DPMA.Patent.getRegisterInfoResponse) Implements DPMA.Patent.DPMAregister.getRegisterInfoAsync
|
||||||
|
Return MyBase.Channel.getRegisterInfoAsync(request)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function getRegisterInfoAsync(ByVal user As String, ByVal pwd As String, ByVal akz As String) As System.Threading.Tasks.Task(Of DPMA.Patent.getRegisterInfoResponse)
|
||||||
|
Dim inValue As DPMA.Patent.getRegisterInfoRequest = New DPMA.Patent.getRegisterInfoRequest()
|
||||||
|
inValue.Body = New DPMA.Patent.getRegisterInfoRequestBody()
|
||||||
|
inValue.Body.user = user
|
||||||
|
inValue.Body.pwd = pwd
|
||||||
|
inValue.Body.akz = akz
|
||||||
|
Return CType(Me,DPMA.Patent.DPMAregister).getRegisterInfoAsync(inValue)
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
End Namespace
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
|
||||||
|
<behaviors />
|
||||||
|
<bindings>
|
||||||
|
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data name="DPMAregisterSoapBinding" />" bindingType="basicHttpBinding" name="DPMAregisterSoapBinding" />
|
||||||
|
</bindings>
|
||||||
|
<endpoints>
|
||||||
|
<endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterPatService" binding="basicHttpBinding" bindingConfiguration="DPMAregisterSoapBinding" contract="DPMA.Patent.DPMAregister" name="DPMAregister" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterPatService" binding="basicHttpBinding" bindingConfiguration="DPMAregisterSoapBinding" contract="DPMA.Patent.DPMAregister" name="DPMAregister" />" contractName="DPMA.Patent.DPMAregister" name="DPMAregister" />
|
||||||
|
</endpoints>
|
||||||
|
</configurationSnapshot>
|
||||||
@ -0,0 +1,201 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="GGShgMDs/sgEkm7HAfRbWq+OCQM=">
|
||||||
|
<bindingConfigurations>
|
||||||
|
<bindingConfiguration bindingType="basicHttpBinding" name="DPMAregisterSoapBinding">
|
||||||
|
<properties>
|
||||||
|
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>DPMAregisterSoapBinding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>StrongWildcard</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>65536</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>0</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.Text.UTF8Encoding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Buffered</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Text</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>None</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Never</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>TransportSelected</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>(Sammlung)</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>UserName</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>Default</serializedValue>
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</bindingConfiguration>
|
||||||
|
</bindingConfigurations>
|
||||||
|
<endpoints>
|
||||||
|
<endpoint name="DPMAregister" contract="DPMA.Patent.DPMAregister" bindingType="basicHttpBinding" address="http://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterPatService" bindingConfiguration="DPMAregisterSoapBinding">
|
||||||
|
<properties>
|
||||||
|
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>http://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterPatService</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>basicHttpBinding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>DPMAregisterSoapBinding</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>DPMA.Patent.DPMAregister</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue><Header /></serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>My</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>LocalMachine</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>False</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue>DPMAregister</serializedValue>
|
||||||
|
</property>
|
||||||
|
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<serializedValue />
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</endpoint>
|
||||||
|
</endpoints>
|
||||||
|
</SavedWcfConfigurationInformation>
|
||||||
5
app/DpmaXmlParser/Utils.vb
Normal file
5
app/DpmaXmlParser/Utils.vb
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Public Class Utils
|
||||||
|
Public Shared Function ParseShortDate(value As String)
|
||||||
|
Return DateTime.Parse(value).ToShortDateString()
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
37
app/DpmaXmlParser/app.config
Normal file
37
app/DpmaXmlParser/app.config
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<system.diagnostics>
|
||||||
|
<sources>
|
||||||
|
<!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
|
||||||
|
<source name="DefaultSource" switchName="DefaultSwitch">
|
||||||
|
<listeners>
|
||||||
|
<add name="FileLog"/>
|
||||||
|
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
|
||||||
|
<!--<add name="EventLog"/>-->
|
||||||
|
</listeners>
|
||||||
|
</source>
|
||||||
|
</sources>
|
||||||
|
<switches>
|
||||||
|
<add name="DefaultSwitch" value="Information" />
|
||||||
|
</switches>
|
||||||
|
<sharedListeners>
|
||||||
|
<add name="FileLog"
|
||||||
|
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
|
||||||
|
initializeData="FileLogWriter"/>
|
||||||
|
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
|
||||||
|
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||||
|
</sharedListeners>
|
||||||
|
</system.diagnostics>
|
||||||
|
<system.serviceModel>
|
||||||
|
<bindings>
|
||||||
|
<basicHttpBinding>
|
||||||
|
<binding name="DPMAregisterSoapBinding" />
|
||||||
|
</basicHttpBinding>
|
||||||
|
</bindings>
|
||||||
|
<client>
|
||||||
|
<endpoint address="http://dpmaconnect.dpma.de/dpmaws/services/DPMAregisterPatService"
|
||||||
|
binding="basicHttpBinding" bindingConfiguration="DPMAregisterSoapBinding"
|
||||||
|
contract="DPMA.Patent.DPMAregister" name="DPMAregister" />
|
||||||
|
</client>
|
||||||
|
</system.serviceModel>
|
||||||
|
</configuration>
|
||||||
Loading…
x
Reference in New Issue
Block a user