| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Zugriff auf Dateien von aussen (7095 mal gelesen)
|
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 14. Okt. 2014 18:33 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Ich arbeite in einer Werkstatt und bin dort Bereichsverantwortlicher. Im laufe der letzten 2 Jahre habe ich in c# eine Verwaltungssoftware für die Aufträge geschrieben, schön mit Vorschaubildern der Zeichnungen pro Auftrag etc. (450h Arbeit, also schon etwas richtigs ). Nun wurde in unserer Konstruktion TeamCenter eingeführt. Um das abgetippe der Aufträge (Werkstücke) zu verringern, hole ich die Daten zum Werkstück aus der TeamCenter Datenbank. Jetzt habe ich aber noch das Problem, das die Zeichungen nicht mehr auf einem normalen Dateiserver als PDF vorliegen wie früher, sondern im TeamCenter gespeichert sind. Nun die Hauptfrage. Wie komme ich per Software (C#) an die gespeicherten PDF's im TeamCenter? In der SQL Datenbank bin ich über die ItemID auf die Tabelle PIMANFILE gestossen, ich gehe davon aus, das mich diese zu meinen Dateien führen. Kennt sich einer damit aus? Toll wäre über den Webclient und der Item puid oder pfile_name. Jedoch müsste man sich da ja auch autentifizieren. Kurz und knapp zu mir selber, gelernter Polymechaniker mit 6 Jahren hobby programmiererfahrung in c# und java. Gruss Black Rider Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasZwatz Moderator cadadmin
Beiträge: 5397 Registriert: 19.05.2000 (10-2022) --------------------------------------------- [stable] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO, Multi-CAD BCT-Inspector Neutral v22R2 --------------------------------------------- [testing] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 BCT-Inspector Neutral v22R2 @M7720 Win10 (1909)
|
erstellt am: 14. Okt. 2014 20:48 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
Zitat: Original erstellt von Black Rider: ....Toll wäre über den Webclient und der Item puid oder pfile_name. Jedoch müsste man sich da ja auch autentifizieren....
Über den Webclient hast du ja sowieso alles was du brauchst ? Ich nehme an, dir geht's mehr um eine automatisierte Lösung ala item_id/item_revision_id Liste rein und PDFs raus ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 14. Okt. 2014 20:52 <-- editieren / zitieren --> Unities abgeben:
Hallo ThomasZwatz und Danke für die Antwort Genau, es soll alles vollautomatisch gehen. Desswegen geht das auch mit dem WebClient nicht, denn da muss der User sich ja zuerst einmal einloggen. "item_id/item_revision_id" Ich nehme an, das ist zb: 0003542_0 wobei die item_revision_id die _0 ist, oder? Wie kriege ich das hin? (Keine Programmiertechnische Frage, sondern wie man an die Dateien kommt, FTP?, http?) Gruss Black Rider Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasZwatz Moderator cadadmin
Beiträge: 5397 Registriert: 19.05.2000 (10-2022) --------------------------------------------- [stable] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO, Multi-CAD BCT-Inspector Neutral v22R2 --------------------------------------------- [testing] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 BCT-Inspector Neutral v22R2 @M7720 Win10 (1909)
|
erstellt am: 14. Okt. 2014 21:21 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
Dazu muss man wissen wo/wie die Dateien vorliegen, d.h. die hängen bei uns z.B. unter einer - ItemRevision - darunter ein UGPART Dataset in IMAN_specification Relation - darunter ein PDF Dataset in IMAN_Rendering Relation Hat man das PDF Dataset identifiziert, kann man den Speicherort am Volume ermitteln und die Datei dann z.B. über einen Webserver ausliefern. Ich weiss nicht obs nicht vielleicht auch ein Webservice (SOA) von Teamcenter gibt welches sowas macht ( dann braucht man aber zumindest einen Teamcenter User zum Zugreifen ). Eine andere Variante wäre vielleicht auch, über PLMXML Export zu gehen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 14. Okt. 2014 21:31 <-- editieren / zitieren --> Unities abgeben:
|
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 15. Okt. 2014 00:11 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
>>Verstehe ich das richtig, das die Dateien also nicht in einem normalen Dateisystem wie zb NTFS mit Ordnerstruktur etc. vorliegen? Aber sicher doch. Allerdings: Damit niemand die Sicherheitsmethoden von TC umgehen kann, sind die Dateinamen verschlüsselt und nur ein Systemkonto hat Zugriffsrechte. Der Zugriff SOLL ganz bewusst nur über TC erfolgen. Der "richtige" Weg ist meiner Ansicht nach ein ITK-Programm. ITK = Integration Toolkit stellt Dir eine Bibliothek von Funktionen zur Verfügung, mit der Du programmtechnisch in TC arbeiten kannst. Der Haken an der Geschichte: Man benötigt schon einige Kenntnisse der internen Datenstrukturen. Schau mal, ob der folgende Zusatz zur Anwenderhilfe von TC installiert ist: Developer References for Customization C++ API Reference Integration Toolkit (ITK) Function Reference Services Reference Teamcenter Data Model Report ------------------ Rainer Schulze
>>...denn da muss der User sich ja zuerst einmal einloggen. Ach ja - das ist einer der Sicherheitsaspekte... Ich weiß ja nicht, wie man in Deiner Firma mit Datensicherheit und Berechtigungen umgeht. Aber es wäre ja bedenklich, wenn jeder Hacker an alle Informationen käme. [Diese Nachricht wurde von Rainer Schulze am 15. Okt. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 15. Okt. 2014 07:21 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Herr Schulze Danke für die Antwort. Mein Problem ist, das ich selber keinen Zugriff habe auf den Server. Da ich nicht in der IT Abteilung sitze sondern in der Werkstatt. Und die IT will zuerst wissen wie es gehen soll bevor sie was machen. Ich werde wohl unsere Zuständigen bei Siemens mal kontaktieren... Gruss Black Rider Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tom-nx Ehrenmitglied V.I.P. h.c. CAD-PDM Admin
Beiträge: 3001 Registriert: 13.09.2007 NX1953(NX1973) managed productive NX2007(2015) native testing NX-CAM BCT aClass V21 TC13.2.0.3 Win 10-64bit Dell Precision T3610 Nvidia K2000 3DConnexion Space Explorer
|
erstellt am: 15. Okt. 2014 07:49 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
Hallo Black Rider, Mit welcher TC Version arbeitet ihr denn? Ich möchte das bei uns in naher Zukunft auch haben das die Leute in der Werkstatt auf TC Daten (hauptsächlich pdf)zugreifen können. Ich könnte mir vorstellen dass der TC ThinClient (WebClient) da durchaus geeignet wäre. Grüße, Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 15. Okt. 2014 07:53 <-- editieren / zitieren --> Unities abgeben:
Hallo Tom Das ist eine gute Frage, ich glaube mal gehört zu haben das NX Version = TeamCenter Version? Dann haben wir v. 8.5 Also um Zeichnungen anzuschauen eignet sich der WebClient ja hervorragend, man muss nur die Itemid angeben und ein paar Klicks machen und schwubs hat man die Zeichnung. Gruss Black Rider Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tom-nx Ehrenmitglied V.I.P. h.c. CAD-PDM Admin
Beiträge: 3001 Registriert: 13.09.2007 NX1953(NX1973) managed productive NX2007(2015) native testing NX-CAM BCT aClass V21 TC13.2.0.3 Win 10-64bit Dell Precision T3610 Nvidia K2000 3DConnexion Space Explorer
|
erstellt am: 15. Okt. 2014 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
|
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 15. Okt. 2014 07:57 <-- editieren / zitieren --> Unities abgeben:
|
tom-nx Ehrenmitglied V.I.P. h.c. CAD-PDM Admin
Beiträge: 3001 Registriert: 13.09.2007 NX1953(NX1973) managed productive NX2007(2015) native testing NX-CAM BCT aClass V21 TC13.2.0.3 Win 10-64bit Dell Precision T3610 Nvidia K2000 3DConnexion Space Explorer
|
erstellt am: 15. Okt. 2014 08:01 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
|
testInUg Mitglied Systemadministrator
Beiträge: 6 Registriert: 16.10.2014 NX 8.5, TC 8.3
|
erstellt am: 16. Okt. 2014 14:27 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
Hallo Eine Möglichkeit wäre über webdav zuzugreifen. Deine IT könnte ein kleines Tool z.B. in .Net machen an den du eine Liste übergibst mit item-id und wenn gewollt item-rev (falls eure Datasets unter der item Revision in TC liegen) womit ein fest definierter Datasettyp extrahiert wird. Somit bekommt der Benutzer schnell die gewünschten PDF. Die IT kann ja als Login-user für webdav einen administrativen Benutzer im Code festschreiben. Gruss Manuel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 17. Okt. 2014 14:10 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
>>Sprich, eine dritt Software auf einem PC soll an die Zeichnung kommen ohne das der User was machen Es gibt da als Ergänzung zu Teamcenter von A+B Solutions ein Produkt namens Shop Floor Connect. Das ist relativ neu in der Vertriebsliste von Siemens. Wir haben das in unseren Fertigungslinien unter der früheren Bezeichnung Fit4TC im Einsatz. Man konfiguriert in TC mittels extra Stückliste (Dokumentenliste) die Arbeitsunterweisungen zu einem Produkt und hängt darunter die Stationsbezeichnung der Werkstatt. Also kein freier Zugriff auf beliebige Dokumente, sondern eine strukturierte Zuordnung. Die Mitarbeiter wählen am jeweiligen Platz das gewünschte Produkt und haben Zugriff auf die Unterlagen, die für ihre Station zugewiesen wurden. http://www.aplusb-solutions.com/ http://www.aplusb-solutions.com/de/produkte-dienstleistungen/prozessundresourcenmanagementfuerdieproduktion/sfcftc.html Rainer Schulze [Diese Nachricht wurde von Rainer Schulze am 17. Okt. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 17. Okt. 2014 18:09 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Danke für Eure Antworten. Ich habe die Sache mit unserer Informatikabteilung angeschaut. Diese gibt mir jetzt einen CIFS Freigabe. (Leserechte) Welche Dateinamen welche Zeichnung sind versuche ich dann direkt über die SQL DB herauszufinden. Mir ist bewusst, das dies nicht der optimale Weg ist. Ich bin mir auch nicht sicher ob es keine Probleme gibt, der Verantwortliche bei uns für das TC ist zwar der Meinung wenn ich nur Lese kann nichts passieren, aber keine Ahnung. Tatsache ist, das unsere IT einfach den schnellsten Weg für sich gesucht hat und ich bin froh wenn ich an die Dateien komme. Ich habe jetzt erst einmal Ferien, werde mich danach sicherlich wieder melden. Gruss Black Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 18. Okt. 2014 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
>>der Verantwortliche bei uns für das TC ist zwar der Meinung wenn ich nur Lese kann nichts passieren, aber keine Ahnung. "Keine Ahnung" ist zwar ein gefährlicher Zustand, aber die Aussage stimmt. Hüte Dich nur, unter Umgehung von TC direkt in die Datenbank zu schreiben. Da ist die Gefahr groß, die Datenbank völlig unbrauchbar zu machen. Und Siemens PLM wird in einem solchen Fall keinerlei kostenlose Unterstützung anbieten. ------------------ Rainer Schulze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 18. Okt. 2014 10:04 <-- editieren / zitieren --> Unities abgeben:
Danke für die Bestätigung, ich bin sehr froh das von Dir zu hören. Ja, in die Datenbank würde ich auch nie schreiben. Ich weiss es von meiner eigenen Software, welche auch eine SQL DB verwendet. Wenn da was falsches drin steht und ich in der Software den Fehler nicht richtig abfange kann es sein das ich nicht mal mehr die Software starten kann. Und auf jeden Fehler kann man einfach nicht vorbereitet sein. Gruss Black Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 24. Nov. 2014 11:18 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Da bin ich wieder. Leider hat es noch nicht geklappt. Das herauslesen des Pfades aus der Datenbank funktioniert. Ich habe also den kompletten Pfad zur *.pdf bzw. weiss wie diese heisst. Die Freigabe über CIFS funktionierte leider nicht, da nur TeamCenter selber lesezugriff darauf hat, und sich unsere IT nicht traute die Rechte der Files zu übernehmen. Aber anscheinend gibt es noch den Weg über einen Workflow, leider wissen wir nicht genau was wir da Einstellen/Programmieren müssen, deswegen meine neue Frage: Hat schon jemand Erfahrung bzw. den Code um beim Workflow für die CAM Freigabe per Handler die Zeichnung (*.PDF) in einen uns vordefinierten Ordner zu exportieren? Der Vorteil dieser Variante wäre, das die Zeichnung nur dann herausgegeben wird, wenn die CAM Freigabe gesetzt wurde. Gruss Black Rider Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
InvCorax Mitglied Systembetreuer / Konstrukteur
Beiträge: 454 Registriert: 21.03.2006 Intel Xeon 3,2GHz 12GB DDR3 NVIDIA Quadro 4000 Win 7 (64bit) SE ST8 MP10 SE ST10 (Test) TC 10.1.5
|
erstellt am: 24. Nov. 2014 11:36 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
Hallo, wir haben das im rahmen unseres ERP-Connects umgesetzt. Und zwar wird im Freigabe Workflow ein externes Script angeschubst (per invoke-system-action) welches den plmxml_export.exe startet und dann per robocopy die PDFs in ein Verzeichnis kopiert wo unser ERP drauf zugreift. Da das ganze nur ein Teil des großen ganzen ist und wir das mit viel Geld Programmieren haben lassen, kann ich dir das leider nicht einfach so zur Verfügung stellen. Aber die Info das es geht sei damit gegeben und auf wunsch gibts den Kontakt zu unserm Dienstleister per PM, bzw. vllt bekommt ihr das mit den Infos ja schon selbst hin, Programmierkenntisse scheinen ja vorhanden zu sein und plmxml Profis gibts hier ja wie Sand am Meer Grüße Corax ------------------ Schreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 27. Nov. 2014 07:13 <-- editieren / zitieren --> Unities abgeben:
|
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 11. Mai. 2015 21:02 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Da bin ich wieder. Leider habe ich es bis jetzt noch nicht hingekriegt. Nun bin ich aber an einem guten Ansatz dran. Ich versuche es mit C# über die SOA Schnittstelle. Das anmelden funktioniert, auch das Benutzen der SavedQueries. Nur, da die ganze Sache, milde ausgedrückt, schlecht Dokumentiert ist, habe ich keine Ahnung wie ich eine Datei vom Server ziehen kann. Ich weiss das es mit der FileManagementUtility Klasse und dann mit GetTransientFile funktionieren sollte. Nur brauche ich dafür ein Ticket, woher kriege ich das? Hat da jemand Ahnung? Beispiele? In java habe ich n paar Codebeispiele gefunden, die da benutzten Referenzen finde ich in C# jedoch nicht. Gruss Black Rider Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Schulze Ehrenmitglied V.I.P. h.c. Dipl.-Ing. im Ruhestand
Beiträge: 4419 Registriert: 24.09.2012
|
erstellt am: 12. Mai. 2015 00:57 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
>> schlecht Dokumentiert Für die ITK-Schnittstelle (Integration Tool Kit) gibt es eine Dokumentation, die aber extra installiert werden muss. Sprich mit Deiner IT-Abteilung. ------------------ Rainer Schulze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 12. Mai. 2015 14:22 <-- editieren / zitieren --> Unities abgeben:
Guten Tag Vielen Dank für die Antwort. Habe die Service Referenzen gefunden. Danke. Versuche mich nun damit durchzuschlagen. Wenn jemand ein Beispiel oder Erfahrung damit hat, würde ich mich jedoch sehr über Inputs freuen. Denn bis jetzt ist es nur ein try + catch Gruss Black Rider Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias-p Mitglied Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 13. Mai. 2015 08:04 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
|
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 13. Mai. 2015 08:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Matthias Vielen Dank für das Beispiel. Leider ist dieses in Java geschrieben. Hatte im Internet schon einige Beispiele in Java gefunden und versucht auf C# abzuleiten. Bis jetzt habe ich es leider noch nicht hingekriegt (Klassen die ich in C# nicht gefunden habe etc.). Aber ich werde anhand dieses Beispiels versuchen eine Ableitung zu machen, danke. Wäre also immer noch dankbar für ein C# Beispiel. Wäre auch bereit dafür etwas zu bezahlen. (Freelancer anwesend? xD) Gruss Black Rider Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias-p Mitglied Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 13. Mai. 2015 08:23 <-- editieren / zitieren --> Unities abgeben: Nur für Black Rider
Da ich heute mal einen Guten Tag hab...anbei meine zwei Klassen zum Download von Files. Die DatasetDownloadClass erbt von der DatasetManagmentClass [Diese Nachricht wurde von matthias-p am 13. Mai. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 13. Mai. 2015 09:02 <-- editieren / zitieren --> Unities abgeben:
|
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 14. Mai. 2015 15:12 <-- editieren / zitieren --> Unities abgeben:
Leider brauche ich wohl noch mehr Hilfe 1. Ich hol mir das DataSet per SavedQuery SavedQueryService queryService = SavedQueryService.getService(Session.getConnection()); ....... savedQueries.Queries[i].Name.Equals("Dataset Name") ...... // Search for all Items, returning a maximum of 25 objects Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput[] savedQueryInput = new Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput[1]; savedQueryInput[0] = new Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryInput(); savedQueryInput[0].Query = query; savedQueryInput[0].MaxNumToReturn = 25; savedQueryInput[0].LimitListCount = 0; savedQueryInput[0].LimitList = new Teamcenter.Soa.Client.Model.ModelObject[0]; savedQueryInput[0].Entries = new String[] { "Dataset Name" }; savedQueryInput[0].Values = new String[1]; savedQueryInput[0].Values[0] = "*10-2741*"; savedQueryInput[0].MaxNumToInflate = 25;
//***************************** //Execute the service operation //***************************** Teamcenter.Services.Strong.Query._2007_06.SavedQuery.ExecuteSavedQueriesResponse savedQueryResult = queryService.ExecuteSavedQueries(savedQueryInput); Teamcenter.Services.Strong.Query._2007_06.SavedQuery.SavedQueryResults found = savedQueryResult.ArrayOfResults[0]; Das ist der mir einzig bekannte Weg um an ein DataSet zu kommen, nur mal zum Testen. Aber am liebsten wäre es mir, wenn ich über die Item ID ran käme. 2. Ich habe also mein DataSet. Nun will ich dieses herunterladen. Mit dem Code von Dir.
Dataset ds = (Dataset)found.Objects[0]; DatasetDownloadClass ddc = new DatasetDownloadClass("C:\\"); ddc.DownloadFile(ds); Er geht in den Konstruktor von DatasetDownloadClass und von da in DataManagementClass. Dort führt er folgende Zeile aus: _filemanagment = new FileManagementUtility(Teamcenter.ClientX.Session.getConnection(), "", new string[] { _FSC_Uri }, new string[] { _FSC_Uri }, _download_folder); Das löst ein HandleException (InternalServerException) aus: Exception caught in com.teamcenter.clientx.AppXExceptionHandler.handleException(InternalServerException). {"Ein Aufrufziel hat einen Ausnahmefehler verursacht."} TcSoaClient.dll --> Version: 8000.3.0.0 16.09.2010 TcSoaFMS.dll --> Version 8000.3.0.0 16.09.2010 Was mache ich falsch? :/
Gruss Black Rider
Edit: Fast vergessen.
3. Bei der DataSetDownloadCLass Zeile: Property refListProperty = Session.GetProperty(dataset, "ref_list"); Fehler: Der Name "Session" ist im aktuellen Kontex nicht vorhanden. Teamcenter.ClientX.Session passt nicht. 'Teamcenter.ClientX.Session' enthält keine Definition für 'GetProperty'. Irgendetwas stimmt da nicht, ich glaube ich habe nicht die passenden dll Dateien, kann das sein?
[Diese Nachricht wurde von Black Rider am 14. Mai. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Black Rider Mitglied
Beiträge: 16 Registriert: 14.10.2014
|
erstellt am: 15. Mai. 2015 09:59 <-- editieren / zitieren --> Unities abgeben:
So, bin nun ein Stück weiter. Fehlermeldung bei FileManagementUtility konnte ich beheben. Wie? Ich habe einfach alle DLL's die bei der SOAClient.zip Lib dabei waren mal als Verweis hinzugefügt, jetzt geht es :/ Muss also nurnoch herausfinden welche es genau war. Fehlernder Verweis bei Session.GetProperty(dataset,"ref_list"); habe ich erfolgreich durch Teamcenter.Soa.Client.Model.Property refListProperty = dataset.GetProperty("ref_list"); ersetzt. Jetzt habe ich noch ein anderes Problem, das war mir aber schon bekannt. Ich habe auf den Server über VPN Zugriff über die IP. Wenn ich mich über den Webclient (Normal über Browser)) einlogge und eine File herunterladen will, kann er den Downloadpfad nicht öffnen, da er in der Adresse den Computernamen und nicht die IP setzt. Wenn ich den Computernamen durch die IP ersetze funktioniert es. Das gleich nun auch in meinem Programm.
"All FMS servers are unavailable: please contact your system administrator.\nFSC servers that were attempted: http://DERSERVERNAME:4544,http://DERSERVERNAME:4544 ( caused by: Der Remotename konnte nicht aufgelöst werden: 'DERSERVERNAME' ) \n Error while Downloading files from PLM using FMS. It returned error code -9502" Kann ich aus programmiertechnisch auf der Clientseite sagen das der die IP nehmen soll und nicht den Hostnamen? Denke das ist Serverseitig falsch eingestellt... Ui ich bin soo nahe dran Gruss Black Rider Edit: Falsch gedacht, das mit dem Auflösen des Namens ist das Problem meiner VPN Verbindung. Ich habe nun unter Windows in C:\Windows\System32\drivers\etc\hosts den PC namen und dessen IP manuell hinzugefügt und jetzt klappt es.
Jetzt muss ich nurnoch hinkriegen das ich nicht einfach ein DataSet nehme, sondern das von meiner Item ID und dann funktioniert es. [Diese Nachricht wurde von Black Rider am 15. Mai. 2015 editiert.] Edit2: Sodele, ich habe nun auch gecheckt das der Dataset Name der Dateiname ist. Da unsere Konstruktion die Item ID im Zeichnungsdateinamen hat, finde ich nun direkt die PDF Datei und er lädt sie herunter. Es klappt also \o/ Vielen Dank nochmal.
[Diese Nachricht wurde von Black Rider am 15. Mai. 2015 editiert.] Edit3: Das fehlen von FMSNetTicketv80.dll, FSCNetClientProxyv80.dll und log4net.dll hatten den Fehler beim erstellen der FileManagementClasse ausgelöst. Die im Programmordner, und es klappt. [Diese Nachricht wurde von Black Rider am 15. Mai. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |