Jeg kender ikke den oprindelige service, da det er en ekstern udbyder. Men jeg ved, at vi laver et synkron kald til en metode, med et host objekt, og starter en ny tråd, og returnere at den har modtaget data'en. Senere modtages så det endelige svar, om data'en var valid eller ej.
Dette gøres ved at vi lytter på response url'en og venter på svar.
Har ikke klient koden der benytter servicen, har blot fået information om hvilke metoder den kalder.
Det bliver lidt noget gætværk, når du ikke fortæller noget om, hvordan I har implementeret service/client. Er det wcf? I så fald, hvilken binding bruger i? Er det "gamle" asmx-services? Hvordan ser kaldet ud? Sender I en responseUrl med som parameter til det første kald?
Hmm... Tja, men den del har jeg løst. Mit egentlige problem, er at retunere selve svaret når tråden er færdig med at behandle det. Den skal retunere et Reponse objekt, til reponse urlen. Det er det, som er mit problem. Jeg kan ikke finde en måde at sige, den skal retunere dette objekt til denne url
A Kalder Service B CreateCustomer(Host, Customer) B Kalder intern metode Valid(object) i en ny tråd B returnere til A, at data'en er modtaget. A arbejder videre. B er nu færdig med at validere data, sender resultat til A A modtager et internt callback på, at data er modtaget
Det er B er nu færdig med at validere data, sender resultat til A, jeg har problemer med.
Som jeg har forstået dig, så spawner A en thread, som lytter efter valideringsresultatet fra B (altså det sidste). Du må da på en eller anden måde vide/kunne få at vide, hvordan den lytter?
Det mest naturlige er vel, at det er en webservice, som du på en eller anden måde må kunne få noget wsdl på og generere en proxy ud fra.
Men det kan jo også være at du bare skal lave et httprequest mod den, med nogle post/get værdier.
Under alle omstændigheder er det svært at gætte sig frem til :)
Og det er B som du skal lave en mock af ikk'? Betyder det så, at du har kontrol over A?
Kan du ikke prøve at smide en browser på responseuri'en og se om der monstro kommer et link til noget wsdl, som du kan bruge til at generere en client proxy som du så kan bruge i din mock til at lave callback til A?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.